Skip to content

chore: build on aspect workflows #1578

chore: build on aspect workflows

chore: build on aspect workflows #1578

Workflow file for this run

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