Add a script to configure the sccache client to use the build cluster #2559
Workflow file for this run
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: Test | ||
| concurrency: | ||
| group: test-from-${{ github.ref_name }} | ||
| cancel-in-progress: true | ||
| on: | ||
| pull_request: | ||
| push: | ||
| branches: | ||
| - "pull-request/[0-9]+" | ||
| jobs: | ||
| check-event: | ||
| name: Check PR Event | ||
| runs-on: ubuntu-latest | ||
| outputs: | ||
| ok: ${{ steps.check_pr_event.outputs.ok }} | ||
| steps: | ||
| - id: check_pr_event | ||
| name: Check PR Event | ||
| shell: bash | ||
| run: | | ||
| [[ '${{ github.event_name }}' == 'push' && '${{ 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: | ||
| if: needs.check-event.outputs.ok == 'true' && github.repository_owner == 'rapidsai' | ||
| name: Build | ||
|
Check failure on line 31 in .github/workflows/test.yml
|
||
| needs: check-event | ||
| secrets: inherit | ||
| uses: ./.github/workflows/build-all-rapids-repos.yml | ||
| validate-features-json: | ||
| if: needs.check-event.outputs.ok == 'true' | ||
| name: Validate Features | ||
| needs: check-event | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout ${{ github.repository }} | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| persist-credentials: false | ||
| - name: Install devcontainers CLI | ||
| uses: ./.github/actions/install-devcontainers-cli | ||
| - name: Validate devcontainer-feature.json files | ||
| uses: devcontainers/action@v1 | ||
| with: | ||
| validate-only: true | ||
| base-path-to-features: "./features/src" | ||
| features-matrix: | ||
| name: Determine features matrix | ||
| needs: validate-features-json | ||
| runs-on: ubuntu-latest | ||
| outputs: | ||
| features: ${{ steps.matrix.outputs.features }} | ||
| scenarios: ${{ steps.matrix.outputs.scenarios }} | ||
| steps: | ||
| - name: Checkout ${{ github.repository }} | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| fetch-depth: 0 | ||
| persist-credentials: false | ||
| - id: get-pr-info | ||
| name: Get PR target branch info | ||
| uses: ./.github/actions/get-pr-info | ||
| - name: Copy common scripts into features | ||
| uses: ./.github/actions/copy-common-scripts | ||
| - id: matrix | ||
| name: Determine features matrix | ||
| uses: ./.github/actions/feature-matrix | ||
| with: | ||
| full_matrix: false | ||
| base_sha: "${{ fromJSON(steps.get-pr-info.outputs.pr-info).base.sha }}" | ||
| file_patterns: | | ||
| features/test/** | ||
| .github/workflows/test.yml | ||
| .github/actions/feature-matrix/* | ||
| .github/actions/build-and-test-feature/* | ||
| .github/workflows/build-and-test-feature.yml | ||
| run-feature-integration-tests: | ||
| if: needs.features-matrix.outputs.features != '[]' || needs.features-matrix.outputs.scenarios != '[]' | ||
| name: Feature integration | ||
| needs: features-matrix | ||
| secrets: inherit | ||
| uses: ./.github/workflows/build-and-test-feature.yml | ||
| with: | ||
| name: "{0}" | ||
| args: "--global-scenarios-only" | ||
| run-feature-scenario-tests: | ||
| if: needs.features-matrix.outputs.scenarios != '[]' | ||
| name: Test ${{ matrix.feature }} scenarios | ||
| needs: features-matrix | ||
| secrets: inherit | ||
| uses: ./.github/workflows/build-and-test-feature.yml | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| feature: ${{ fromJSON(needs.features-matrix.outputs.scenarios) }} | ||
| with: | ||
| name: "{0}" | ||
| args: "-f ${{ matrix.feature }} --skip-autogenerated" | ||
| run-generated-feature-tests: | ||
| if: needs.features-matrix.outputs.features != '[]' | ||
| name: Test ${{ matrix.feature }} feature | ||
| needs: features-matrix | ||
| secrets: inherit | ||
| uses: ./.github/workflows/build-and-test-feature.yml | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| feature: ${{ fromJSON(needs.features-matrix.outputs.features) }} | ||
| with: | ||
| name: "{0}" | ||
| args: "-f ${{ matrix.feature }} -i ubuntu:22.04 --skip-scenarios" | ||
| image-matrix: | ||
| name: Determine image matrix | ||
| needs: features-matrix | ||
| runs-on: ubuntu-latest | ||
| outputs: | ||
| linux: ${{ steps.matrix.outputs.linux }} | ||
| windows: ${{ steps.matrix.outputs.windows }} | ||
| steps: | ||
| - name: Checkout ${{ github.repository }} | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| fetch-depth: 0 | ||
| persist-credentials: false | ||
| - id: get-pr-info | ||
| name: Get PR target branch info | ||
| uses: ./.github/actions/get-pr-info | ||
| - id: matrix | ||
| name: Determine image matrix | ||
| uses: ./.github/actions/image-matrix | ||
| with: | ||
| full_matrix: false | ||
| features: "${{ needs.features-matrix.outputs.features }}" | ||
| scenarios: "${{ needs.features-matrix.outputs.scenarios }}" | ||
| base_sha: "${{ fromJSON(steps.get-pr-info.outputs.pr-info).base.sha }}" | ||
| file_patterns: | | ||
| .github/actions/build-linux-image/* | ||
| .github/actions/build-windows-image/* | ||
| .github/actions/image-matrix/* | ||
| .github/actions/test-windows-image/* | ||
| .github/workflows/test.yml | ||
| .github/workflows/build-test-and-push-linux-image.yml | ||
| .github/workflows/build-test-and-push-windows-image.yml | ||
| build-and-test-linux-images: | ||
| if: needs.image-matrix.outputs.linux != '{"include":[]}' | ||
| name: ${{ matrix.name || 'Linux' }} | ||
| needs: image-matrix | ||
| secrets: inherit | ||
| uses: ./.github/workflows/build-test-and-push-linux-image.yml | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: ${{ fromJSON(needs.image-matrix.outputs.linux) }} | ||
| with: | ||
| push: false | ||
| os: "${{ matrix.os }}" | ||
| features: "${{ toJSON(matrix.features) }}" | ||
| container_env: "${{ toJSON(matrix.env) }}" | ||
| repo: "${{ vars.DOCKERHUB_REPOSITORY || github.repository }}" | ||
| build-and-test-windows-images: | ||
| if: needs.image-matrix.outputs.windows != '{"include":[]}' | ||
| name: ${{ matrix.name || 'Windows' }} | ||
| needs: image-matrix | ||
| secrets: inherit | ||
| uses: ./.github/workflows/build-test-and-push-windows-image.yml | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: ${{ fromJSON(needs.image-matrix.outputs.windows) }} | ||
| with: | ||
| push: false | ||
| os: "${{ matrix.os }}" | ||
| features: "${{ toJSON(matrix.features) }}" | ||
| container_env: "${{ toJSON(matrix.env) }}" | ||
| repo: "${{ vars.DOCKERHUB_REPOSITORY || github.repository }}" | ||