Use s3 for preprocessor cache location #3432
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 | |
| 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 }}" |