Build all RAPIDS repositories #556
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build all RAPIDS repositories | |
on: | |
schedule: | |
- cron: '0 0 * * *' | |
workflow_call: | |
jobs: | |
check-event: | |
name: Check GH Event | |
runs-on: ubuntu-latest | |
outputs: | |
ok: ${{ steps.check_gh_event.outputs.ok }} | |
steps: | |
- id: check_gh_event | |
name: Check GH Event | |
shell: bash | |
run: | | |
[[ '${{ github.event_name }}' == 'push' && '${{ github.repository }}' == 'rapidsai/devcontainers' ]] || \ | |
[[ '${{ github.event_name }}' == 'schedule' && '${{ github.repository }}' == 'rapidsai/devcontainers' ]] || \ | |
[[ '${{ github.event_name }}' == 'pull_request' && '${{ github.repository }}' != 'rapidsai/devcontainers' ]] \ | |
&& echo "ok=true" | tee -a "$GITHUB_OUTPUT" \ | |
|| echo "ok=false" | tee -a "$GITHUB_OUTPUT"; | |
build-all-rapids-repos: | |
name: RAPIDS | |
if: needs.check-event.outputs.ok == 'true' | |
needs: check-event | |
secrets: inherit | |
uses: rapidsai/shared-workflows/.github/workflows/[email protected] | |
permissions: | |
actions: read | |
packages: read | |
id-token: write | |
contents: read | |
pull-requests: read | |
with: | |
arch: '["amd64", "arm64"]' | |
cuda: '["12.9"]' | |
node_type: cpu8 | |
extra-repo-deploy-key: CUMLPRIMS_SSH_PRIVATE_DEPLOY_KEY | |
rapids-aux-secret-1: GIST_REPO_READ_ORG_GITHUB_TOKEN | |
timeout-minutes: 720 | |
# 1. Infinitely retry transient errors | |
# 2. Enable debug logging to track cache misses | |
# 3. Never fallback to locally compiling | |
# 4. Use RAPIDS_AUX_SECRET_1 as the sccache-dist auth token | |
env: | | |
CONDA_ENV_CREATE_QUIET=1 | |
SCCACHE_DIST_MAX_RETRIES=inf | |
SCCACHE_SERVER_LOG=sccache=debug | |
SCCACHE_DIST_FALLBACK_TO_LOCAL_COMPILE=false | |
SCCACHE_DIST_AUTH_TOKEN_VAR=RAPIDS_AUX_SECRET_1 | |
build_command: | | |
# Verify sccache cache location | |
sccache --show-adv-stats; | |
# Clone all the repos | |
clone-all -j$(nproc) -v -q --clone-upstream --depth 1 --single-branch --shallow-submodules; | |
# Configure all the C++ libs | |
time configure-all \ | |
-j0 \ | |
-GNinja \ | |
-Wno-dev \ | |
-DBUILD_TESTS=ON \ | |
-DBUILD_BENCHMARKS=ON \ | |
-DBUILD_PRIMS_BENCH=ON \ | |
-DBUILD_SHARED_LIBS=ON \ | |
-DRAFT_COMPILE_LIBRARY=ON \ | |
-DBUILD_CUGRAPH_MG_TESTS=ON ; | |
# Build all the C++ libs | |
time build-all-cpp -j0; | |
# Build all the Python libs | |
time build-all-python -j0; | |
# Print cache and dist stats | |
sccache --show-adv-stats; | |
# Print build times | |
find /var/log/devcontainer-utils/ -type f -name 'build-*-time.log' -print0 \ | |
| xargs -0 -n1 grep -H real | sed 's/real\t/ /g' || : # Nonfatal if not found |