build #1473
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 | |
| on: | |
| push: | |
| branches: | |
| - "main" | |
| - "release/*" | |
| tags: | |
| - v[0-9][0-9].[0-9][0-9].[0-9][0-9] | |
| workflow_dispatch: | |
| inputs: | |
| branch: | |
| description: | | |
| branch: git branch the workflow run targets. | |
| Required even when 'sha' is provided because it is also used for organizing artifacts. | |
| required: true | |
| type: string | |
| date: | |
| description: "date: Date (YYYY-MM-DD) this run is for. Used to organize artifacts produced by nightly builds" | |
| required: true | |
| type: string | |
| sha: | |
| description: "sha: full git commit SHA to check out" | |
| required: true | |
| type: string | |
| build_type: | |
| description: "build_type: one of [branch, nightly, pull-request]" | |
| type: string | |
| default: nightly | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: {} | |
| jobs: | |
| build-details: | |
| uses: rapidsai/shared-workflows/.github/workflows/compute-build-details.yaml@main | |
| conda-cpp-build: | |
| needs: [build-details] | |
| permissions: | |
| actions: read | |
| contents: read | |
| id-token: write | |
| packages: read | |
| pull-requests: read | |
| secrets: inherit # zizmor: ignore[secrets-inherit] | |
| uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@main | |
| with: | |
| build_type: ${{ inputs.build_type || 'branch' }} | |
| build-datetime: ${{ needs.build-details.outputs.build-datetime }} | |
| branch: ${{ inputs.branch }} | |
| date: ${{ inputs.date }} | |
| node_type: cpu8 | |
| script: ci/build_cpp.sh | |
| sha: ${{ inputs.sha }} | |
| conda-python-build: | |
| needs: [build-details, conda-cpp-build] | |
| permissions: | |
| actions: read | |
| contents: read | |
| id-token: write | |
| packages: read | |
| pull-requests: read | |
| secrets: inherit # zizmor: ignore[secrets-inherit] | |
| uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@main | |
| with: | |
| build_type: ${{ inputs.build_type || 'branch' }} | |
| build-datetime: ${{ needs.build-details.outputs.build-datetime }} | |
| branch: ${{ inputs.branch }} | |
| date: ${{ inputs.date }} | |
| script: ci/build_python.sh | |
| sha: ${{ inputs.sha }} | |
| # Build a conda package for each CUDA x ARCH x minimum supported Python version | |
| matrix_filter: group_by({CUDA_VER, ARCH}) | map(min_by(.PY_VER | split(".") | map(tonumber))) | |
| upload-conda: | |
| needs: [conda-cpp-build, conda-python-build] | |
| permissions: | |
| actions: read | |
| contents: read | |
| id-token: write | |
| packages: read | |
| pull-requests: read | |
| secrets: inherit # zizmor: ignore[secrets-inherit] | |
| uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@main | |
| with: | |
| build_type: ${{ inputs.build_type || 'branch' }} | |
| branch: ${{ inputs.branch }} | |
| date: ${{ inputs.date }} | |
| sha: ${{ inputs.sha }} | |
| docs-build: | |
| if: github.ref_type == 'branch' | |
| needs: conda-python-build | |
| permissions: | |
| actions: read | |
| contents: read | |
| id-token: write | |
| packages: read | |
| pull-requests: read | |
| secrets: inherit # zizmor: ignore[secrets-inherit] | |
| uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main | |
| with: | |
| arch: "amd64" | |
| branch: ${{ inputs.branch }} | |
| build_type: ${{ inputs.build_type || 'branch' }} | |
| container_image: "rapidsai/ci-conda:26.10-latest" | |
| date: ${{ inputs.date }} | |
| node_type: "cpu8" | |
| script: "ci/build_docs.sh" | |
| sha: ${{ inputs.sha }} | |
| wheel-build-librapidsmpf: | |
| needs: [build-details] | |
| permissions: | |
| actions: read | |
| contents: read | |
| id-token: write | |
| packages: read | |
| pull-requests: read | |
| secrets: inherit # zizmor: ignore[secrets-inherit] | |
| uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main | |
| with: | |
| build_type: ${{ inputs.build_type || 'branch' }} | |
| build-datetime: ${{ needs.build-details.outputs.build-datetime }} | |
| branch: ${{ inputs.branch }} | |
| date: ${{ inputs.date }} | |
| node_type: cpu8 | |
| sha: ${{ inputs.sha }} | |
| script: ci/build_wheel_librapidsmpf.sh | |
| package-name: librapidsmpf | |
| package-type: cpp | |
| # build for every combination of arch and CUDA version, but only for the latest Python version | |
| matrix_filter: group_by([.ARCH, (.CUDA_VER|split(".")|map(tonumber)|.[0])]) | map(max_by(.PY_VER|split(".")|map(tonumber))) | |
| wheel-publish-librapidsmpf: | |
| needs: wheel-build-librapidsmpf | |
| permissions: | |
| actions: read | |
| contents: read | |
| id-token: write | |
| packages: read | |
| pull-requests: read | |
| secrets: inherit # zizmor: ignore[secrets-inherit] | |
| uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@main | |
| with: | |
| build_type: ${{ inputs.build_type || 'branch' }} | |
| branch: ${{ inputs.branch }} | |
| sha: ${{ inputs.sha }} | |
| date: ${{ inputs.date }} | |
| package-name: librapidsmpf | |
| package-type: cpp | |
| publish-wheel-search-key: rapidsmpf_wheel_cpp_librapidsmpf | |
| wheel-build-rapidsmpf: | |
| needs: [build-details, wheel-build-librapidsmpf] | |
| permissions: | |
| actions: read | |
| contents: read | |
| id-token: write | |
| packages: read | |
| pull-requests: read | |
| secrets: inherit # zizmor: ignore[secrets-inherit] | |
| uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main | |
| with: | |
| build_type: ${{ inputs.build_type || 'branch' }} | |
| build-datetime: ${{ needs.build-details.outputs.build-datetime }} | |
| branch: ${{ inputs.branch }} | |
| date: ${{ inputs.date }} | |
| node_type: cpu8 | |
| sha: ${{ inputs.sha }} | |
| script: ci/build_wheel_rapidsmpf.sh | |
| package-name: rapidsmpf | |
| package-type: python | |
| # Build a wheel for each CUDA x ARCH x minimum supported Python version | |
| matrix_filter: group_by({CUDA_VER, ARCH}) | map(min_by(.PY_VER | split(".") | map(tonumber))) | |
| wheel-publish-rapidsmpf: | |
| needs: wheel-build-rapidsmpf | |
| permissions: | |
| actions: read | |
| contents: read | |
| id-token: write | |
| packages: read | |
| pull-requests: read | |
| secrets: inherit # zizmor: ignore[secrets-inherit] | |
| uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@main | |
| with: | |
| build_type: ${{ inputs.build_type || 'branch' }} | |
| branch: ${{ inputs.branch }} | |
| sha: ${{ inputs.sha }} | |
| date: ${{ inputs.date }} | |
| package-name: rapidsmpf | |
| package-type: python | |
| publish-wheel-search-key: rapidsmpf_wheel_python_rapidsmpf | |
| wheel-build-rapidsmpf-singlecomm: | |
| needs: [build-details, wheel-build-rapidsmpf] | |
| permissions: | |
| actions: read | |
| contents: read | |
| id-token: write | |
| packages: read | |
| pull-requests: read | |
| secrets: inherit # zizmor: ignore[secrets-inherit] | |
| uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main | |
| with: | |
| build_type: ${{ inputs.build_type || 'branch' }} | |
| build-datetime: ${{ needs.build-details.outputs.build-datetime }} | |
| branch: ${{ inputs.branch }} | |
| date: ${{ inputs.date }} | |
| node_type: cpu8 | |
| sha: ${{ inputs.sha }} | |
| script: ci/build_wheel_singlecomm.sh | |
| package-name: rapidsmpf-singlecomm | |
| package-type: python | |
| # build for every combination of arch and CUDA version, but only for the latest Python version | |
| matrix_filter: group_by([.ARCH, (.CUDA_VER|split(".")|map(tonumber)|.[0])]) | map(max_by(.PY_VER|split(".")|map(tonumber))) | |
| devcontainers: | |
| name: Build devcontainers | |
| secrets: inherit # zizmor: ignore[secrets-inherit] | |
| uses: rapidsai/shared-workflows/.github/workflows/build-devcontainers.yaml@main | |
| permissions: | |
| packages: write | |
| with: | |
| push: true | |
| cuda: '["12.9", "13.3"]' |