Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CI for cuGraph-GNN #53

Closed
wants to merge 59 commits into from
Closed
Show file tree
Hide file tree
Changes from 45 commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
946b239
add ci files
alexbarghi-nv Oct 11, 2024
db06ee2
update dependencies file
alexbarghi-nv Oct 11, 2024
c5813fe
add github files
alexbarghi-nv Oct 11, 2024
4e29cac
add copy pr bot
alexbarghi-nv Oct 11, 2024
1fe2c11
fix newline
alexbarghi-nv Oct 11, 2024
e978611
add ops bot
alexbarghi-nv Oct 11, 2024
ea6dcd4
fix conflict
alexbarghi-nv Oct 11, 2024
3bc9dcc
fix conflict
alexbarghi-nv Oct 11, 2024
d34ea2f
fix pr.yaml
alexbarghi-nv Oct 11, 2024
2a0827d
add wheel test script
alexbarghi-nv Oct 11, 2024
64c60a4
fix style
alexbarghi-nv Oct 11, 2024
80370eb
fix newlines (again)
alexbarghi-nv Oct 11, 2024
314461c
fix yamls
alexbarghi-nv Oct 11, 2024
5d13fd8
change perms
alexbarghi-nv Oct 11, 2024
1adfe92
fix build.sh
alexbarghi-nv Oct 11, 2024
c57490d
remove extra repos
alexbarghi-nv Oct 11, 2024
d5571c6
fixes to dependencies.yaml
alexbarghi-nv Oct 11, 2024
b99122d
fix
alexbarghi-nv Oct 11, 2024
164d1a2
update gitignore
alexbarghi-nv Oct 11, 2024
8f303cc
bump NCCL floor to 2.19
jameslamb Oct 11, 2024
96684a0
package license
jameslamb Oct 11, 2024
58806fd
pytorch pins, some CI script cleanup
jameslamb Oct 11, 2024
66bcde6
set cuda version 12.5
alexbarghi-nv Oct 11, 2024
5db48ab
update cugraph-dgl and cugrpah-pyg wheel-testing scripts to match wha…
jameslamb Oct 11, 2024
78c4db4
Merge branch 'add-ci' of https://github.com/alexbarghi-nv/cugraph-gnn…
alexbarghi-nv Oct 11, 2024
b851de4
fix wheel build args
alexbarghi-nv Oct 11, 2024
8ecc9ba
remove old steps from wheel build
alexbarghi-nv Oct 11, 2024
7676b5d
remove unused cmake args
alexbarghi-nv Oct 11, 2024
afef793
pull the right branch of raft
alexbarghi-nv Oct 11, 2024
201aee9
install pylibwholegraph
alexbarghi-nv Oct 11, 2024
0fbe438
remove pylibcugraph reference
alexbarghi-nv Oct 11, 2024
1d04ad0
add smoke test notebook
alexbarghi-nv Oct 11, 2024
d480946
disable cpp checks
alexbarghi-nv Oct 11, 2024
738f6c4
fix tests
alexbarghi-nv Oct 14, 2024
b6e61c2
move notebook to inner directory
alexbarghi-nv Oct 14, 2024
c278d97
add dataset script
alexbarghi-nv Oct 14, 2024
a87bebd
set perms on script
alexbarghi-nv Oct 14, 2024
09cc676
add torch to test script
alexbarghi-nv Oct 14, 2024
c915472
bump pytorch to 12.4
alexbarghi-nv Oct 14, 2024
a78dc8d
fix git config, coverage
alexbarghi-nv Oct 14, 2024
46f0323
update matrix filter for pylibwholegraph wheel tests
alexbarghi-nv Oct 14, 2024
4c4d3c0
only install build wheels, add karate file
alexbarghi-nv Oct 14, 2024
065c5df
add pytest-forked, try to fix wheel-testing scripts
jameslamb Oct 15, 2024
45ca789
use rapids-build-backend
jameslamb Oct 15, 2024
afb87d4
more dependencies.yaml changes
jameslamb Oct 15, 2024
dce3e1e
skip rapids-build-backend cuda versioning for conda builds
jameslamb Oct 15, 2024
8a3fda8
add same mkl pin that wholegraph CI uses
jameslamb Oct 15, 2024
4263e51
add pytorch to test environment (wholegraph does not declare a depend…
jameslamb Oct 15, 2024
15f913b
remove pytorch-cuda
jameslamb Oct 15, 2024
4d66d77
consolidate 'cugraph' dependency, avoid unsuffixed use for pyproject/…
jameslamb Oct 15, 2024
87a840f
always generate a .py script for notebook tests, pin version of nbcon…
jameslamb Oct 15, 2024
08c4079
fix test paths
jameslamb Oct 16, 2024
784df53
merge branch-24.12
jameslamb Oct 16, 2024
aa6ec91
merge branch-24.12
jameslamb Oct 17, 2024
e8e9b65
merge branch-24.12
jameslamb Oct 21, 2024
e7abf77
setuptools
jameslamb Oct 21, 2024
237563c
add missing files, update tests
alexbarghi-nv Oct 22, 2024
934575d
merge branch-24.12
jameslamb Oct 28, 2024
be6fc5a
remove smoke-testing scripts
jameslamb Oct 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/copy-pr-bot.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,3 @@
# https://docs.gha-runners.nvidia.com/apps/copy-pr-bot/

enabled: true

1 change: 0 additions & 1 deletion .github/ops-bot.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,3 @@ label_checker: true
release_drafter: true
recently_updated: true
forward_merger: true

114 changes: 114 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
name: build

on:
push:
branches:
- "branch-*"
tags:
- v[0-9][0-9].[0-9][0-9].[0-9][0-9]
workflow_dispatch:
inputs:
branch:
required: true
type: string
date:
required: true
type: string
sha:
required: true
type: string
build_type:
type: string
default: nightly

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
cancel-in-progress: true

jobs:
cpp-build:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
node_type: cpu32
python-build:
needs: [cpp-build]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
upload-conda:
needs: [cpp-build, python-build]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
wheel-build-cugraph-dgl:
needs: wheel-publish-pylibwholegraph
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
sha: ${{ inputs.sha }}
date: ${{ inputs.date }}
script: ci/build_wheel_cugraph-dgl.sh
wheel-publish-cugraph-dgl:
needs: wheel-build-cugraph-dgl
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
sha: ${{ inputs.sha }}
date: ${{ inputs.date }}
package-name: cugraph-dgl
wheel-build-cugraph-pyg:
needs: wheel-publish-pylibwholegraph
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
sha: ${{ inputs.sha }}
date: ${{ inputs.date }}
script: ci/build_wheel_cugraph-pyg.sh
wheel-publish-cugraph-pyg:
needs: wheel-build-cugraph-pyg
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
sha: ${{ inputs.sha }}
date: ${{ inputs.date }}
package-name: cugraph-pyg
wheel-build-pylibwholegraph:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
sha: ${{ inputs.sha }}
date: ${{ inputs.date }}
script: ci/build_wheel_pylibwholegraph.sh
wheel-publish-pylibwholegraph:
needs: wheel-build-pylibwholegraph
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
sha: ${{ inputs.sha }}
date: ${{ inputs.date }}
package-name: pylibwholegraph
181 changes: 181 additions & 0 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
name: pr

on:
push:
branches:
- "pull-request/[0-9]+"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
pr-builder:
needs:
- changed-files
- checks
- conda-cpp-build
- conda-cpp-tests
# - conda-cpp-checks
- conda-notebook-tests
- conda-python-build
- conda-python-tests
- wheel-build-pylibwholegraph
- wheel-tests-pylibwholegraph
- wheel-build-cugraph-dgl
- wheel-tests-cugraph-dgl
- wheel-build-cugraph-pyg
- wheel-tests-cugraph-pyg
- devcontainer
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
if: always()
with:
needs: ${{ toJSON(needs) }}
changed-files:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
files_yaml: |
test_cpp:
- '**'
- '!.devcontainers/**'
- '!CONTRIBUTING.md'
- '!README.md'
- '!docs/**'
- '!img/**'
- '!mg_utils/**'
- '!notebooks/**'
- '!python/**'
- '!readme_pages/**'
# TODO: Remove this before merging
- '!.github/**'
test_notebooks:
- '**'
- '!.devcontainers/**'
- '!CONTRIBUTING.md'
- '!README.md'
- '!docs/**'
# TODO: Remove this before merging
- '!.github/**'
test_python:
- '**'
- '!.devcontainers/**'
- '!CONTRIBUTING.md'
- '!README.md'
- '!docs/**'
- '!img/**'
- '!notebooks/**'
# TODO: Remove this before merging
- '!.github/**'
checks:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
enable_check_generated_files: false
conda-cpp-build:
needs: checks
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
build_type: pull-request
node_type: cpu32
conda-cpp-tests:
needs: [conda-cpp-build, changed-files]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp
with:
build_type: pull-request
# conda-cpp-checks:
# needs: conda-cpp-build
# secrets: inherit
# uses: rapidsai/shared-workflows/.github/workflows/[email protected]
# with:
# build_type: pull-request
# enable_check_symbols: true
# symbol_exclusions: (cugraph::ops|hornet|void writeEdgeCountsKernel|void markUniqueOffsetsKernel)
conda-python-build:
needs: conda-cpp-build
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
build_type: pull-request
conda-python-tests:
needs: [conda-python-build, changed-files]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python
with:
build_type: pull-request
conda-notebook-tests:
needs: [conda-python-build, changed-files]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_notebooks
with:
build_type: pull-request
node_type: "gpu-v100-latest-1"
arch: "amd64"
container_image: "rapidsai/ci-conda:cuda11.8.0-ubuntu22.04-py3.10"
run_script: "ci/test_notebooks.sh"
wheel-build-pylibwholegraph:
needs: checks
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
build_type: pull-request
script: ci/build_wheel_pylibwholegraph.sh
node_type: cpu32
wheel-tests-pylibwholegraph:
needs: [wheel-build-pylibwholegraph, changed-files]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python
with:
build_type: pull-request
script: ci/test_wheel_pylibwholegraph.sh
matrix_filter: map(select(.ARCH == "amd64"))
wheel-build-cugraph-dgl:
needs: wheel-tests-pylibwholegraph
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
build_type: pull-request
script: ci/build_wheel_cugraph-dgl.sh
wheel-tests-cugraph-dgl:
needs: [wheel-build-cugraph-dgl, changed-files]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python
with:
build_type: pull-request
script: ci/test_wheel_cugraph-dgl.sh
matrix_filter: map(select(.ARCH == "amd64"))
wheel-build-cugraph-pyg:
needs: wheel-tests-pylibwholegraph
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
build_type: pull-request
script: ci/build_wheel_cugraph-pyg.sh
wheel-tests-cugraph-pyg:
needs: [wheel-build-cugraph-pyg, changed-files]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python
with:
build_type: pull-request
script: ci/test_wheel_cugraph-pyg.sh
matrix_filter: map(select(.ARCH == "amd64"))
devcontainer:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
arch: '["amd64"]'
cuda: '["12.5"]'
node_type: cpu32
build_command: |
sccache -z;
build-all --verbose -j$(nproc --ignore=1);
sccache -s;
72 changes: 72 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: test

on:
workflow_dispatch:
inputs:
branch:
required: true
type: string
date:
required: true
type: string
sha:
required: true
type: string

jobs:
conda-cpp-checks:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
build_type: nightly
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
enable_check_symbols: true
symbol_exclusions: (cugraph::ops|hornet|void writeEdgeCountsKernel|void markUniqueOffsetsKernel)
conda-cpp-tests:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
build_type: nightly
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
conda-python-tests:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
build_type: nightly
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
wheel-tests-pylibwholegraph:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
build_type: nightly
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
script: ci/test_wheel_pylibwholegraph.sh
matrix_filter: map(select(.ARCH == "amd64"))
wheel-tests-cugraph-dgl:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
build_type: nightly
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
script: ci/test_wheel_cugraph-dgl.sh
matrix_filter: map(select(.ARCH == "amd64"))
wheel-tests-cugraph-pyg:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
with:
build_type: nightly
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
script: ci/test_wheel_cugraph-pyg.sh
matrix_filter: map(select(.ARCH == "amd64"))
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,6 @@ datasets/*
!datasets/karate-disjoint.csv
!datasets/netscience.csv

# nx-cugraph side effects
python/nx-cugraph/objects.inv

.pydevproject

# Jupyter Notebooks
Expand Down
Loading
Loading