Skip to content

Build all RAPIDS repositories #556

Build all RAPIDS repositories

Build all RAPIDS repositories #556

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