-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
102 additions
and
0 deletions.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
# This file contains Bazel settings to apply on CI only. | ||
# It is referenced with a --bazelrc option in the call to bazel in ci.yaml | ||
|
||
# Announce all announces command options read from the bazelrc file(s) when starting up at the | ||
# beginning of each Bazel invocation. This is very useful on CI to be able to inspect what Bazel rc | ||
# settings are being applied on each run. | ||
# Docs: https://bazel.build/docs/user-manual#announce-rc | ||
build --announce_rc | ||
|
||
# Directories caches by GitHub actions | ||
common:local --disk_cache=~/.cache/bazel-disk-cache | ||
common --repository_cache=~/.cache/bazel-repository-cache | ||
|
||
# Output test errors to stderr so users don't have to `cat` or open test failure log files when test | ||
# fail. This makes the log noiser in exchange for reducing the time-to-feedback on test failures for | ||
# users. | ||
# Docs: https://bazel.build/docs/user-manual#test-output | ||
test --test_output=errors | ||
|
||
# Bazel-in-bazel support | ||
test --test_env=XDG_CACHE_HOME | ||
|
||
# Use colors to highlight output on the screen. Set to `no` if your CI does not display colors. | ||
# Docs: https://bazel.build/docs/user-manual#color | ||
build --color=yes |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
name: CI | ||
|
||
on: | ||
push: | ||
branches: [main] | ||
pull_request: | ||
branches: [main] | ||
|
||
workflow_dispatch: | ||
|
||
concurrency: | ||
# Cancel previous actions from the same PR: https://stackoverflow.com/a/72408109 | ||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
test: | ||
runs-on: ${{ matrix.os }} | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: ['ubuntu-latest', 'windows-latest', 'macos-latest'] | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
# Cache build artifacts so that the next ci build is incremental. | ||
# Because github action caches cannot be updated after a build, we need to | ||
# store the contents of each build in a unique cache key, then fall back to loading | ||
# it on the next ci run. We use hashFiles(...) in the key and restore-keys- with | ||
# the prefix to load the most recent cache for the branch on a cache miss. You | ||
# should customize the contents of hashFiles to capture any bazel input sources, | ||
# although this doesn't need to be perfect. If none of the input sources change | ||
# then a cache hit will load an existing cache and bazel won't have to do any work. | ||
# In the case of a cache miss, you want the fallback cache to contain most of the | ||
# previously built artifacts to minimize build time. The more precise you are with | ||
# hashFiles sources the less work bazel will have to do. | ||
# We do not cache downloaded external artifacts as these are generally | ||
# faster to download again than to fetch them from the GitHub actions | ||
# cache. | ||
- name: Mount bazel caches | ||
uses: actions/cache@v4 | ||
with: | ||
path: | | ||
~/.cache/bazel-disk-cache | ||
~/.cache/bazel-repository-cache | ||
~/.cache/xdg-cache | ||
key: >- | ||
bazel-cache-${{ matrix.os }}- | ||
${{ hashFiles('.bazelrc', '.bazelversion', '**/BUILD', '**/BUILD.bazel', '**/*.bzl', 'WORKSPACE', 'WORKSPACE.bazel', 'WORKSPACE.bzlmod', 'MODULE.bazel', 'MODULE.bazel.lock') }} | ||
restore-keys: | | ||
bazel-cache-${{ matrix.os }}- | ||
# See https://github.com/bazel-contrib/publish-to-bcr#including-patches | ||
- name: verify bcr patches | ||
if: hashFiles('.bcr/patches/*.patch') != '' | ||
run: patch --dry-run -p1 < .bcr/patches/*.patch | ||
|
||
- name: bazel test //... | ||
run: bazel --bazelrc=.github/workflows/ci.bazelrc test //... | ||
env: | ||
ASPECT_RULES_JS_FROZEN_PNPM_LOCK: 1 | ||
# bazelisk will download bazel to here | ||
XDG_CACHE_HOME: ~/.cache/xdg-cache |
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
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