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 GitHub Actions Workflows #12002

Merged
merged 119 commits into from
Dec 2, 2022
Merged
Show file tree
Hide file tree
Changes from 106 commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
9beb22e
upload workflows & build scripts
ajschmidt8 Oct 26, 2022
12313d4
add missing `libcudf` dependencies
ajschmidt8 Oct 26, 2022
b386bc5
add nvtx to example build
ajschmidt8 Oct 27, 2022
26f120f
skip import tests for now
ajschmidt8 Oct 27, 2022
3f40fee
use Ninja
ajschmidt8 Oct 27, 2022
2941297
Merge remote-tracking branch 'upstream/branch-22.12' into gha
bdice Nov 9, 2022
6432e17
Enable tests.
bdice Nov 9, 2022
53aca11
Update C++ testing logic.
bdice Nov 9, 2022
385e53b
Update test_cpp.sh.
bdice Nov 9, 2022
d454788
Try building stream identification library.
bdice Nov 9, 2022
2f657b9
pushd/popd.
bdice Nov 9, 2022
1da8432
Update test_cpp.sh.
bdice Nov 9, 2022
d06f241
Work around conda activation unbound variables.
bdice Nov 9, 2022
1b8d7ef
Update dependencies for libidentify_stream_usage.
bdice Nov 9, 2022
debefc8
Tee.
bdice Nov 9, 2022
0c00848
Modify paths.
bdice Nov 9, 2022
1c8a8fd
Require compilers for libidentify_stream_usage.
bdice Nov 9, 2022
c57a7d0
update `test_cpp` dependencies
ajschmidt8 Nov 9, 2022
8ed1557
allow unbound variables for `conda activate`
ajschmidt8 Nov 9, 2022
23f6058
Disable stream identification.
bdice Nov 9, 2022
3085dc7
Run from cudf tests directory.
bdice Nov 9, 2022
919eab8
use cpu16 nodes
ajschmidt8 Nov 9, 2022
328af4e
add trailing slash
ajschmidt8 Nov 9, 2022
164f56f
Alter test_python.sh.
bdice Nov 10, 2022
265b513
Move pyorc dependency to test_python.
bdice Nov 10, 2022
e3c44ba
Try pinning transformers, tokenizers.
bdice Nov 10, 2022
5666bde
Use pytorch channel to ensure that pytorch<1.12 is available on arm.
bdice Nov 10, 2022
b5ec991
Try removing pytorch pinning.
bdice Nov 11, 2022
861c245
No verbose pytest.
bdice Nov 15, 2022
b6ab374
add `ninja` as build dep
ajschmidt8 Nov 15, 2022
1c24261
add `ninja` as build dep again
ajschmidt8 Nov 15, 2022
75500bc
Disable pytest-xdist, re-enable verbose to see if tests pass.
bdice Nov 16, 2022
43e0ca5
Remove other pytest-xdist features to test in serial.
bdice Nov 16, 2022
590cfd9
Update conda/environments/all_cuda-115_arch-x86_64.yaml
bdice Nov 16, 2022
6d0d498
Update dependencies.yaml
bdice Nov 16, 2022
3d91e9f
Merge remote-tracking branch 'upstream/branch-22.12' into gha
bdice Nov 16, 2022
c3bdbce
Move pytorch to x86_64 only.
bdice Nov 16, 2022
034e782
Split Python tests.
bdice Nov 16, 2022
8f336a8
Change branch.
bdice Nov 16, 2022
5913689
Update test scripts.
bdice Nov 16, 2022
87eabe2
[skip ci] revert workflow branch changes
ajschmidt8 Nov 17, 2022
7d14d21
Initial commit of Java test dependencies.
bdice Nov 18, 2022
5d3d982
Remove conda activate base. Seems unnecessary.
bdice Nov 18, 2022
d18aa25
Factor out common Python test logic.
bdice Nov 18, 2022
1dd4038
Add strings_udf tests.
bdice Nov 18, 2022
d72a130
Add Java tests.
bdice Nov 18, 2022
a743b98
Fix cudf strings_udf test command.
bdice Nov 18, 2022
5f9ff2c
Use GPU runner.
bdice Nov 18, 2022
998ad9a
Merge branch 'branch-23.02' into gha
bdice Nov 18, 2022
344eb54
Update Java test workflow.
bdice Nov 18, 2022
2297860
Add notebooks job.
bdice Nov 18, 2022
53bfb10
Apply environment changes to use RAPIDS_CUDA_VERSION.
bdice Nov 18, 2022
97a1fc7
Add sccache to Python builds.
bdice Nov 18, 2022
b159118
Run tests and require ptxcompiler/cubinlinker on aarch64, not just li…
bdice Nov 18, 2022
d0a2178
Fix notebooks key.
bdice Nov 18, 2022
9e42e8a
Rerun CI.
bdice Nov 18, 2022
6829f81
Merge remote-tracking branch 'upstream/branch-23.02' into gha
bdice Nov 18, 2022
330a173
update `test_java` deps
ajschmidt8 Nov 18, 2022
28a856c
Add benchmarks.
bdice Nov 18, 2022
32b0470
Codecov!
bdice Nov 18, 2022
19701a8
Use custom branch for Python tests to get codecov.
bdice Nov 18, 2022
765be28
rm pytest `--verbose` flag
ajschmidt8 Nov 21, 2022
a95a5b1
add `cmake` to `test_java` deps
ajschmidt8 Nov 21, 2022
2db0333
[skip ci] add `dependencies.yaml` to `CODEOWNERS`
ajschmidt8 Nov 21, 2022
feeb1ec
consolidate checks jobs
ajschmidt8 Nov 21, 2022
eab4404
[skip ci] update auto-labeler
ajschmidt8 Nov 21, 2022
f216b3e
fix `.coveragerc` path
ajschmidt8 Nov 21, 2022
c422ac5
Test cubinlinker package on aarch64.
bdice Nov 22, 2022
50f2d4b
Update notebook dependencies.
bdice Nov 22, 2022
0138086
Fix NBTEST path.
bdice Nov 22, 2022
dd7a0ca
Use CUDF_JNI_ENABLE_PROFILING to conditionally enable profiling support.
bdice Nov 22, 2022
dc83e30
Merge branch 'gha' of github.com:ajschmidt8/cudf into gha
bdice Nov 22, 2022
6ddb3aa
Install cudf from artifact builds.
bdice Nov 22, 2022
d7d60e9
Remove comments.
bdice Nov 22, 2022
0b5dad2
Add scipy to notebook testing dependencies.
bdice Nov 22, 2022
bac1297
Enable gmarkall channel for cubinlinker testing.
bdice Nov 22, 2022
6131ae0
Don't cancel other parts of the workflow too early while we continue …
bdice Nov 22, 2022
de7f5a7
Revert "Don't cancel other parts of the workflow too early while we c…
bdice Nov 22, 2022
8a2315e
Update notebook.
bdice Nov 22, 2022
ea4b380
Change permissions.
bdice Nov 27, 2022
368f2ac
Move target_compile_definitions after cudfjni declaration.
bdice Nov 27, 2022
83d0ce1
Define function once, use macros in body.
bdice Nov 27, 2022
8c62d7c
Merge branch 'jni-conditional-profiling' into gha
bdice Nov 27, 2022
b5ed63a
Merge remote-tracking branch 'upstream/branch-23.02' into gha
bdice Nov 27, 2022
11efd69
Run style checks.
bdice Nov 27, 2022
95ce14b
Disable JNI profiling in GitHub Actions CI because the conda cudatool…
bdice Nov 27, 2022
c006d6c
Use GITHUB_BASE_REF for copyright script.
bdice Nov 27, 2022
282af12
Debug copyright.
bdice Nov 28, 2022
5479ad8
use new `RAPIDS_BASE_BRANCH` env var for `copyright.py`
ajschmidt8 Nov 28, 2022
6c7f4c5
use `tee` for `check_style.sh` env
ajschmidt8 Nov 28, 2022
e127405
rm debug statements
ajschmidt8 Nov 28, 2022
46e302c
Enable pr-builder.
bdice Nov 28, 2022
48128a1
Remove gmarkall temporary channels.
bdice Nov 28, 2022
c03eb9b
rm `gmarkall` channels
ajschmidt8 Nov 28, 2022
ac24581
uncomment pr-builder
ajschmidt8 Nov 28, 2022
6c44589
Merge branch 'gha' of github.com:ajschmidt8/cudf into gha
bdice Nov 28, 2022
dddd7d3
Change branch to main.
bdice Nov 28, 2022
798301e
Remove some Java deps.
bdice Nov 28, 2022
f4bf76e
Merge remote-tracking branch 'upstream/branch-23.02' into gha
bdice Nov 28, 2022
66254dd
update python test script
ajschmidt8 Nov 29, 2022
fab3fca
Add CUDF_JNI_ENABLE_PROFILING to pom.xml.
bdice Nov 29, 2022
446d657
Merge branch 'gha' of github.com:ajschmidt8/cudf into gha
bdice Nov 29, 2022
9c51a13
try `codecov-test` branch
ajschmidt8 Nov 29, 2022
4995a79
add `cuda-nvtx` to `test_java` dependencies
ajschmidt8 Nov 29, 2022
b4291ed
debug `RAPIDS_COVERAGE_DIR` var
ajschmidt8 Nov 29, 2022
6049cc2
Revert "debug `RAPIDS_COVERAGE_DIR` var"
ajschmidt8 Nov 30, 2022
ea1aec4
use `RAPIDS_TESTS_DIR` env var for unit test results
ajschmidt8 Nov 30, 2022
ba8f8c0
mv `rapids-print-env`
ajschmidt8 Nov 30, 2022
ab7a17c
add trailing slash to `RAPIDS_TESTS_DIR`
ajschmidt8 Nov 30, 2022
33d182c
Revert "try `codecov-test` branch"
ajschmidt8 Nov 30, 2022
85b1ee1
update sccache S3 prefixes
ajschmidt8 Dec 1, 2022
ead8ef5
prevent single notebook error from exiting early
ajschmidt8 Dec 1, 2022
a76107c
remove extraneous TODOs
ajschmidt8 Dec 1, 2022
8edabcb
rm node_type
ajschmidt8 Dec 1, 2022
2fc7cd2
add java & notebook tests to nightly test job
ajschmidt8 Dec 1, 2022
2cb6349
Disable tests on ARM + Jenkins
bdice Dec 1, 2022
864b080
Disable more tests on ARM + Jenkins.
bdice Dec 1, 2022
7f50217
add `TODO` for `--no-test` flags
ajschmidt8 Dec 2, 2022
cfd8fd3
disable package uploads for Jenkins
ajschmidt8 Dec 2, 2022
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: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@ java/ @rapidsai/cudf-java-codeowners
.github/ @rapidsai/ops-codeowners
/ci/ @rapidsai/ops-codeowners
conda/ @rapidsai/ops-codeowners
dependencies.yaml @rapidsai/ops-codeowners
2 changes: 1 addition & 1 deletion .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ CMake:
cuDF (Java):
- 'java/**'

gpuCI:
ci:
- 'ci/**'

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

on:
push:
branches:
- "branch-*"
tags:
- v[0-9][0-9].[0-9][0-9].[0-9][0-9]
workflow_call:
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 }}
cancel-in-progress: true

jobs:
cpp-build:
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-matrix-build.yaml@main
with:
build_type: ${{ inputs.build_type || 'branch' }}
repo: rapidsai/cudf
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
python-build:
needs: [cpp-build]
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-matrix-build.yaml@main
with:
build_type: ${{ inputs.build_type || 'branch' }}
repo: rapidsai/cudf
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
upload-conda:
needs: [cpp-build, python-build]
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-upload-packages.yaml@main
with:
build_type: ${{ inputs.build_type || 'branch' }}
repo: rapidsai/cudf
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
12 changes: 0 additions & 12 deletions .github/workflows/dependency-files.yml

This file was deleted.

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

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

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

jobs:
pr-builder:
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/pr-builder.yaml@codecov-test
checks:
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/checks.yaml@codecov-test
conda-cpp-build:
needs: checks
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-matrix-build.yaml@codecov-test
with:
build_type: pull-request
node_type: cpu16
ajschmidt8 marked this conversation as resolved.
Show resolved Hide resolved
conda-cpp-tests:
needs: conda-cpp-build
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@codecov-test
with:
build_type: pull-request
conda-python-build:
needs: conda-cpp-build
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-matrix-build.yaml@codecov-test
with:
build_type: pull-request
node_type: cpu16
conda-python-cudf-tests:
needs: conda-python-build
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@codecov-test
with:
build_type: pull-request
test_script: "ci/test_python_cudf.sh"
conda-python-other-tests:
# Tests for dask_cudf, custreamz, cudf_kafka are separated for CI parallelism
needs: conda-python-build
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@codecov-test
with:
build_type: pull-request
test_script: "ci/test_python_other.sh"
conda-java-tests:
needs: conda-cpp-build
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@codecov-test
with:
build_type: pull-request
node_type: "gpu-v100-495-1"
arch: "amd64"
container_image: "rapidsai/ci:latest"
run_script: "ci/test_java.sh"
conda-notebook-tests:
needs: conda-python-build
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@codecov-test
with:
build_type: pull-request
node_type: "gpu-v100-495-1"
arch: "amd64"
container_image: "rapidsai/ci:latest"
run_script: "ci/test_notebooks.sh"
46 changes: 46 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: test

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

jobs:
cpp-tests:
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@main
with:
build_type: nightly
repo: rapidsai/cudf
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
python-cudf-tests:
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@main
with:
build_type: nightly
repo: rapidsai/cudf
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
test_script: "ci/test_python_cudf.sh"
python-other-tests:
# Tests for dask_cudf, custreamz, cudf_kafka are separated for CI parallelism
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@main
with:
build_type: nightly
repo: rapidsai/cudf
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
test_script: "ci/test_python_other.sh"
16 changes: 16 additions & 0 deletions ci/build_cpp.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/bash
# Copyright (c) 2022, NVIDIA CORPORATION.

set -euo pipefail

source rapids-env-update

export CMAKE_GENERATOR=Ninja

rapids-print-env

rapids-logger "Begin cpp build"

rapids-mamba-retry mambabuild conda/recipes/libcudf

rapids-upload-conda-to-s3 cpp
45 changes: 45 additions & 0 deletions ci/build_python.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#!/bin/bash
# Copyright (c) 2022, NVIDIA CORPORATION.

set -euo pipefail

source rapids-env-update

export CMAKE_GENERATOR=Ninja

rapids-print-env

rapids-logger "Begin py build"

CPP_CHANNEL=$(rapids-download-conda-from-s3 cpp)

rapids-mamba-retry mambabuild \
--no-test \
--channel "${CPP_CHANNEL}" \
conda/recipes/cudf

rapids-mamba-retry mambabuild \
--no-test \
--channel "${CPP_CHANNEL}" \
--channel "${RAPIDS_CONDA_BLD_OUTPUT_DIR}" \
conda/recipes/dask-cudf

rapids-mamba-retry mambabuild \
--no-test \
--channel "${CPP_CHANNEL}" \
--channel "${RAPIDS_CONDA_BLD_OUTPUT_DIR}" \
conda/recipes/cudf_kafka

rapids-mamba-retry mambabuild \
--no-test \
--channel "${CPP_CHANNEL}" \
--channel "${RAPIDS_CONDA_BLD_OUTPUT_DIR}" \
conda/recipes/custreamz

rapids-mamba-retry mambabuild \
--no-test \
--channel "${CPP_CHANNEL}" \
--channel "${RAPIDS_CONDA_BLD_OUTPUT_DIR}" \
conda/recipes/strings_udf

rapids-upload-conda-to-s3 python
25 changes: 25 additions & 0 deletions ci/check_style.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/bin/bash
# Copyright (c) 2020-2022, NVIDIA CORPORATION.

set -euo pipefail

rapids-logger "Create checks conda environment"
. /opt/conda/etc/profile.d/conda.sh

rapids-dependency-file-generator \
--output conda \
--file_key checks \
--matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch);py=${RAPIDS_PY_VERSION}" | tee env.yaml

rapids-mamba-retry env create --force -f env.yaml -n checks
conda activate checks

set +e

FORMAT_FILE_URL=https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-23.02/cmake-format-rapids-cmake.json
export RAPIDS_CMAKE_FORMAT_FILE=/tmp/rapids_cmake_ci/cmake-formats-rapids-cmake.json
mkdir -p $(dirname ${RAPIDS_CMAKE_FORMAT_FILE})
wget -O ${RAPIDS_CMAKE_FORMAT_FILE} ${FORMAT_FILE_URL}

# Run pre-commit checks
pre-commit run --hook-stage manual --all-files --show-diff-on-failure
4 changes: 2 additions & 2 deletions ci/checks/copyright.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ def modifiedFiles():
we can read only the staged changes.
"""
repo = git.Repo()
# Use the environment variable TARGET_BRANCH (defined in CI) if possible
target_branch = os.environ.get("TARGET_BRANCH")
# Use the environment variable TARGET_BRANCH or RAPIDS_BASE_BRANCH (defined in CI) if possible
target_branch = os.environ.get("TARGET_BRANCH", os.environ.get("RAPIDS_BASE_BRANCH"))
if target_branch is None:
# Fall back to the closest branch if not on CI
target_branch = repo.git.describe(
Expand Down
2 changes: 1 addition & 1 deletion ci/checks/style.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ mkdir -p $(dirname ${RAPIDS_CMAKE_FORMAT_FILE})
wget -O ${RAPIDS_CMAKE_FORMAT_FILE} ${FORMAT_FILE_URL}

# Run pre-commit checks
pre-commit run --hook-stage manual --all-files
pre-commit run --hook-stage manual --all-files --show-diff-on-failure
4 changes: 4 additions & 0 deletions ci/cpu/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ export CUDA_REL=${CUDA_VERSION%.*}
export GPUCI_CONDA_RETRY_MAX=1
export GPUCI_CONDA_RETRY_SLEEP=30

# Workaround to keep Jenkins builds working
# until we migrate fully to GitHub Actions
export RAPIDS_CUDA_VERSION="${CUDA}"

# Use Ninja to build, setup Conda Build Dir
export CMAKE_GENERATOR="Ninja"
export CONDA_BLD_DIR="$WORKSPACE/.conda-bld"
Expand Down
4 changes: 4 additions & 0 deletions ci/gpu/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ cd "$WORKSPACE"
export CUDA_REL=${CUDA_VERSION%.*}
export CONDA_ARTIFACT_PATH="$WORKSPACE/ci/artifacts/cudf/cpu/.conda-bld/"

# Workaround to keep Jenkins builds working
# until we migrate fully to GitHub Actions
export RAPIDS_CUDA_VERSION="${CUDA}"

# Parse git describe
export GIT_DESCRIBE_TAG=`git describe --tags`
export MINOR_VERSION=`echo $GIT_DESCRIBE_TAG | grep -o -E '([0-9]+\.[0-9]+)'`
Expand Down
Loading