deps(cargo): bump the breaking group with 17 updates #10302
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: Build | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| types: | |
| - labeled | |
| - opened | |
| - reopened | |
| - synchronize | |
| jobs: | |
| setup: | |
| name: Setup | |
| runs-on: ubuntu-slim | |
| outputs: | |
| build_package: ${{ github.event_name == 'push' || steps.filter.outputs.package == 'true' || steps.baseline-workflow.outputs.workflow_run_id == '' }} | |
| baseline_run_id: ${{ steps.baseline-workflow.outputs.workflow_run_id }} | |
| run_catalog_tests: ${{ ((github.event_name == 'pull_request' && (steps.message.outputs.run_catalog_tests == 'true' || steps.label.outputs.run_catalog_tests == 'true')) || github.event_name == 'push') && 'true' || 'false' }} | |
| run_spark_tests: ${{ ((github.event_name == 'pull_request' && (github.event.action == 'opened' || steps.message.outputs.run_spark_tests == 'true' || steps.label.outputs.run_spark_tests == 'true')) || github.event_name == 'push') && 'true' || 'false' }} | |
| run_ibis_tests: ${{ ((github.event_name == 'pull_request' && (github.event.action == 'opened' || steps.message.outputs.run_ibis_tests == 'true' || steps.label.outputs.run_ibis_tests == 'true')) || github.event_name == 'push') && 'true' || 'false' }} | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: dorny/paths-filter@v4 | |
| id: filter | |
| with: | |
| filters: | | |
| package: | |
| - ".github/**" | |
| - "crates/**" | |
| - "python/**" | |
| - "scripts/**" | |
| - "Cargo.lock" | |
| - "Cargo.toml" | |
| - "clippy.toml" | |
| - "pyproject.toml" | |
| - "rustfmt.toml" | |
| - uses: ./.github/actions/commit-baseline | |
| id: baseline | |
| - uses: ./.github/actions/commit-workflow | |
| id: baseline-workflow | |
| with: | |
| sha: ${{ steps.baseline.outputs.sha }} | |
| workflow_name: Build | |
| artifact_name: python-package | |
| - uses: actions/github-script@v9 | |
| id: message | |
| with: | |
| script: | | |
| const { data: commit } = await github.rest.git.getCommit({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| // When the event is `pull_request`, we must extract the commit message from the head branch, | |
| // rather than the merge branch created by GitHub. | |
| commit_sha: context.payload.pull_request !== undefined ? context.payload.pull_request.head.sha : context.sha, | |
| }); | |
| const patterns = [ | |
| { name: 'run_catalog_tests', pattern: "\\[catalog tests?\\]", flags: "i" }, | |
| { name: 'run_spark_tests', pattern: "\\[(spark )?tests?\\]", flags: "i" }, | |
| { name: 'run_ibis_tests', pattern: "\\[(ibis )?tests?\\]", flags: "i" }, | |
| ]; | |
| for (const p of patterns) { | |
| const regex = new RegExp(p.pattern, p.flags); | |
| core.setOutput(p.name, commit.message.match(regex) !== null ? 'true' : 'false'); | |
| } | |
| - uses: actions/github-script@v9 | |
| id: label | |
| with: | |
| script: | | |
| const labels = context.payload.pull_request?.labels?.map(label => label.name) || []; | |
| core.setOutput('run_catalog_tests', labels.includes('run catalog tests') ? 'true' : 'false'); | |
| core.setOutput('run_spark_tests', labels.includes('run spark tests') ? 'true' : 'false'); | |
| core.setOutput('run_ibis_tests', labels.includes('run ibis tests') ? 'true' : 'false'); | |
| rust-tests: | |
| name: Rust Tests | |
| if: ${{ needs.setup.outputs.build_package == 'true' }} | |
| uses: ./.github/workflows/rust-tests.yml | |
| secrets: | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
| with: | |
| run_catalog_tests: ${{ needs.setup.outputs.run_catalog_tests }} | |
| needs: | |
| - setup | |
| rust-build: | |
| name: Rust Build | |
| if: ${{ needs.setup.outputs.build_package == 'true' }} | |
| uses: ./.github/workflows/rust-build.yml | |
| secrets: | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
| needs: | |
| - setup | |
| spark-tests: | |
| name: Spark Tests | |
| if: ${{ needs.setup.outputs.build_package == 'true' && needs.setup.outputs.run_spark_tests == 'true' }} | |
| uses: ./.github/workflows/spark-tests.yml | |
| secrets: | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| spark-version: ["3.5.7", "4.1.1"] | |
| with: | |
| spark_version: ${{ matrix.spark-version }} | |
| needs: | |
| - setup | |
| - rust-build | |
| ibis-tests: | |
| name: Ibis Tests | |
| if: ${{ needs.setup.outputs.build_package == 'true' && needs.setup.outputs.run_ibis_tests == 'true' }} | |
| uses: ./.github/workflows/ibis-tests.yml | |
| secrets: | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
| needs: | |
| - setup | |
| - rust-build | |
| python-tests: | |
| name: Python Tests | |
| if: ${{ needs.setup.outputs.build_package == 'true' }} | |
| uses: ./.github/workflows/python-tests.yml | |
| secrets: | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| spark-version: ["3.5.7", "4.0.1", "4.1.1"] | |
| with: | |
| spark_version: ${{ matrix.spark-version }} | |
| needs: | |
| - setup | |
| - rust-build | |
| catalog-tests: | |
| name: Catalog Integration Tests | |
| if: ${{ needs.setup.outputs.build_package == 'true' && needs.setup.outputs.run_catalog_tests == 'true' }} | |
| uses: ./.github/workflows/catalog-tests.yml | |
| secrets: | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
| needs: | |
| - setup | |
| - rust-build | |
| codecov-notify: | |
| name: Codecov Notify | |
| if: ${{ !cancelled() && github.actor != 'dependabot[bot]' }} | |
| runs-on: ubuntu-slim | |
| needs: | |
| - rust-tests | |
| - python-tests | |
| - spark-tests | |
| - ibis-tests | |
| - catalog-tests | |
| env: | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Codecov | |
| uses: codecov/codecov-action@v7 | |
| with: | |
| run_command: send-notifications | |
| token: ${{ env.CODECOV_TOKEN }} | |
| docs-build: | |
| name: Docs Build | |
| # We must specify an explicit condition so that the job still runs when the build is skipped. | |
| if: ${{ !failure() && !cancelled() }} | |
| uses: ./.github/workflows/docs-build.yml | |
| needs: | |
| - setup | |
| - rust-tests | |
| - rust-build | |
| strategy: | |
| matrix: | |
| stage: ${{ fromJSON(github.event_name == 'push' && '["dev", "prod"]' || '["test"]') }} | |
| with: | |
| stage: ${{ matrix.stage }} | |
| version: main | |
| package_run_id: ${{ needs.setup.outputs.build_package == 'true' && github.run_id || needs.setup.outputs.baseline_run_id }} | |
| docs-deploy: | |
| name: Docs Deploy | |
| if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} | |
| uses: ./.github/workflows/docs-deploy.yml | |
| needs: | |
| - docs-build | |
| strategy: | |
| max-parallel: 1 | |
| matrix: | |
| stage: [dev, prod] | |
| permissions: | |
| id-token: write | |
| with: | |
| stage: ${{ matrix.stage }} | |
| version: main |