-
Notifications
You must be signed in to change notification settings - Fork 60
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CI is currently unbearably slow because it runs each config sequentially. Instead, run them in parallel. This also opens up matrix support to be able to run more OSes (because we should test on Windows, which increasingly is starting to work :))
- Loading branch information
1 parent
7491b60
commit 7e10f69
Showing
4 changed files
with
137 additions
and
66 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
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,41 @@ | ||
name: Examples | ||
|
||
on: | ||
push: | ||
branches: [main] | ||
pull_request: | ||
branches: [main] | ||
# Allows you to run this workflow manually from the Actions tab | ||
workflow_dispatch: | ||
|
||
jobs: | ||
examples: | ||
strategy: | ||
matrix: | ||
runs-on: | ||
- ubuntu-latest | ||
|
||
runs-on: ${{ matrix.runs-on }} | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- uses: bazelbuild/setup-bazelisk@v2 | ||
|
||
- name: Mount bazel action cache | ||
uses: actions/cache@v2 | ||
with: | ||
path: "~/.cache/bazel" | ||
key: bazel | ||
|
||
- name: Mount bazel repo cache | ||
uses: actions/cache@v2 | ||
with: | ||
path: "~/.cache/bazel-repo" | ||
key: bazel-repo | ||
|
||
- name: bzlmod tests and lints | ||
env: | ||
# Bazelisk will download bazel to here, ensure it is cached between runs. | ||
XDG_CACHE_HOME: ~/.cache/bazel-repo | ||
run: (cd examples/tests_and_lints && bazel --bazelrc=../../.github/workflows/ci.bazelrc test --enable_bzlmod //...) |
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,41 @@ | ||
name: Gazelle Examples | ||
|
||
on: | ||
push: | ||
branches: [main] | ||
pull_request: | ||
branches: [main] | ||
# Allows you to run this workflow manually from the Actions tab | ||
workflow_dispatch: | ||
|
||
jobs: | ||
gazelle_examples: | ||
strategy: | ||
matrix: | ||
runs-on: | ||
- ubuntu-latest | ||
|
||
runs-on: ${{ matrix.runs-on }} | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- uses: bazelbuild/setup-bazelisk@v2 | ||
|
||
- name: Mount bazel action cache | ||
uses: actions/cache@v2 | ||
with: | ||
path: "~/.cache/bazel" | ||
key: bazel | ||
|
||
- name: Mount bazel repo cache | ||
uses: actions/cache@v2 | ||
with: | ||
path: "~/.cache/bazel-repo" | ||
key: bazel-repo | ||
|
||
- name: bzlmod gazelle | ||
env: | ||
# Bazelisk will download bazel to here, ensure it is cached between runs. | ||
XDG_CACHE_HOME: ~/.cache/bazel-repo | ||
run: (cd examples/gazelle && bazelisk --bazelrc=../../.github/workflows/ci.bazelrc run --enable_bzlmod //:gazelle && bazelisk --bazelrc=../../.github/workflows/ci.bazelrc test --enable_bzlmod //...) |
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,55 @@ | ||
name: Tests | ||
|
||
# Controls when the action will run. | ||
on: | ||
# Triggers the workflow on push or pull request events but only for the main branch | ||
push: | ||
branches: [main] | ||
pull_request: | ||
branches: [main] | ||
|
||
# Allows you to run this workflow manually from the Actions tab | ||
workflow_dispatch: | ||
|
||
jobs: | ||
test: | ||
strategy: | ||
matrix: | ||
runs-on: | ||
- ubuntu-latest | ||
flags: | ||
- "" | ||
- --config=jdk11 | ||
- --noenable_bzlmod | ||
|
||
# The type of runner that the job will run on | ||
runs-on: ${{ matrix.runs-on }} | ||
|
||
# Steps represent a sequence of tasks that will be executed as part of the job | ||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- uses: actions/setup-java@v4 | ||
with: | ||
distribution: "zulu" | ||
java-version: "21" | ||
|
||
- uses: bazelbuild/setup-bazelisk@v2 | ||
|
||
- name: Mount bazel action cache | ||
uses: actions/cache@v2 | ||
with: | ||
path: "~/.cache/bazel" | ||
key: bazel | ||
|
||
- name: Mount bazel repo cache | ||
uses: actions/cache@v2 | ||
with: | ||
path: "~/.cache/bazel-repo" | ||
key: bazel-repo | ||
|
||
- name: bazel test //... (Java ${{ matrix.java-major-version }}) | ||
env: | ||
# Bazelisk will download bazel to here, ensure it is cached between runs. | ||
XDG_CACHE_HOME: ~/.cache/bazel-repo | ||
run: bazelisk --bazelrc=.github/workflows/ci.bazelrc test ${{ matrix.flags }} //... |