chore: build on aspect workflows #1578
Workflow file for this run
This file contains 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: CI | |
# Controls when the action will run. | |
on: | |
# Triggers the workflow on push or pull request events | |
push: | |
branches: | |
- main | |
pull_request: | |
types: | |
- opened | |
- reopened | |
- synchronize | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
concurrency: | |
# Cancel previous actions from the same PR or branch except 'main' branch. | |
# See https://docs.github.com/en/actions/using-jobs/using-concurrency and https://docs.github.com/en/actions/learn-github-actions/contexts for more info. | |
group: concurrency-group::${{ github.workflow }}::${{ github.event.pull_request.number > 0 && format('pr-{0}', github.event.pull_request.number) || github.ref_name }}${{ github.ref_name == 'main' && format('::{0}', github.run_id) || ''}} | |
cancel-in-progress: ${{ github.ref_name != 'main' }} | |
jobs: | |
test: | |
uses: bazel-contrib/.github/.github/workflows/bazel.yaml@646899086d7aaee8e532540480f3e91e00596234 # 11 Dec 2024 | |
with: | |
folders: '[".", "e2e/smoke", "e2e/repository-rule-deps", "e2e/system-interpreter", "examples/uv_pip_compile"]' | |
# TODO: Build Windows tools and add to toolchain | |
# TODO(alex): switch the root folder to bzlmod | |
# TODO: fix remaining folders on Bazel 8 | |
exclude: | | |
[ | |
{"os": "windows-latest"}, | |
{"folder": ".", "bzlmodEnabled": true}, | |
{"folder": "e2e/repository-rule-deps", "bzlmodEnabled": false}, | |
{"folder": "e2e/system-interpreter", "bzlmodEnabled": false}, | |
{"folder": "examples/uv_pip_compile", "bzlmodEnabled": false}, | |
{"folder": ".", "bazelversion": "8.0.0"}, | |
{"folder": "e2e/smoke", "bazelversion": "8.0.0"} | |
] | |
pre-commit: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pre-commit/[email protected] | |
verify-bcr-patches: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- run: patch --dry-run -p1 < .bcr/patches/*.patch | |
test-release: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: e2e/use_release | |
# This test references pre-built artifacts from a prior release. | |
# See py/private/toolchain/tools.bzl where this is referenced from rctx.os.environ. | |
# Will need to bump this version in the future when there are breaking changes. | |
# NB: update tools/integrity.bzl at the same time! | |
env: | |
RULES_PY_RELEASE_VERSION: 1.1.0 | |
steps: | |
- uses: actions/checkout@v4 | |
- run: ./minimal_download_test.sh | |
- run: bazel coverage //src/... | |
- uses: hrishikesh-kadam/setup-lcov@6c1aa0cc9e1c02f9f58f01ac599f1064ccc83470 # v1 | |
# The github-actions-report-lcov doesn't follow symlinks, so get an absolute path | |
- run: echo "bazel_testlogs=$(bazel info bazel-testlogs)" >> $GITHUB_ENV | |
- name: Report code coverage | |
uses: zgosalvez/github-actions-report-lcov@5989987f8058a03137e90bc16f9c0baaac5e069a # v4.1.22 | |
with: | |
working-directory: ${{ env.bazel_testlogs }} | |
coverage-files: "**/coverage.dat" | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
update-comment: true | |
# For branch protection settings, this job provides a "stable" name that can be used to gate PR merges | |
# on "all matrix jobs were successful". | |
conclusion: | |
needs: [test, pre-commit] | |
runs-on: ubuntu-latest | |
if: always() | |
steps: | |
- uses: technote-space/workflow-conclusion-action@45ce8e0eb155657ab8ccf346ade734257fd196a5 # v3.0.3 | |
# Note: possible conclusion values: | |
# https://github.com/technote-space/workflow-conclusion-action/blob/main/src/constant.ts | |
- name: report success | |
if: ${{ env.WORKFLOW_CONCLUSION == 'success' }} | |
working-directory: /tmp | |
run: echo ${{ env.WORKFLOW_CONCLUSION }} && exit 0 | |
- name: report failure | |
if: ${{ env.WORKFLOW_CONCLUSION == 'failure' }} | |
working-directory: /tmp | |
run: echo ${{ env.WORKFLOW_CONCLUSION }} && exit 1 |