Skip to content

Commit

Permalink
ci: improve setup
Browse files Browse the repository at this point in the history
Using a matrix instead of copying the test structure so many times
  • Loading branch information
manuelnaranjo committed Jul 16, 2024
1 parent fa2416a commit 19d57b9
Show file tree
Hide file tree
Showing 17 changed files with 52 additions and 312 deletions.
68 changes: 47 additions & 21 deletions .github/workflows/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,33 +6,59 @@ on:
pull_request:
branches: [ main ]

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:

build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: bazelbuild/setup-bazelisk@v1
- uses: actions/checkout@v4
- uses: bazel-contrib/[email protected]
with:
# Avoid downloading Bazel every time.
bazelisk-cache: true
# Keep a disk-cache
disk-cache: true
# Share repository cache between workflows.
repository-cache: true
# enable some flags for CI
bazelrc: |
import %workspace%/.aspect/bazelrc/ci.bazelrc
# keep a cache for MODULE.bazel repos
external-cache: true
- run: bazel build --config=built-toolchain //... && bazel test --config=built-toolchain //...

# TODO: deprecate by Jan 2025 https://bazel.build/release
build-e2e-bazel-5:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: bazelbuild/setup-bazelisk@v1
- run: cd e2e/bazel-5 && bazel build //...

build-e2e-bazel-6-nobzlmod:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: bazelbuild/setup-bazelisk@v1
- run: cd e2e/bazel-6 && bazel build //...

build-e2e-bazel-7-nobzlmod:
e2e-workspace-matrix:
strategy:
matrix:
version:
- version: 5.x # TODO: deprecate by Jan 2025 https://bazel.build/release
bazelrc:
- version: 6.x
bazelrc: |
import %workspace%/../../.aspect/bazelrc/bazel6.bazelrc
- version: 7.x
bazelrc: |
import %workspace%/../../.aspect/bazelrc/bazel6.bazelrc
import %workspace%/../../.aspect/bazelrc/bazel7.bazelrc
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: bazelbuild/setup-bazelisk@v1
- run: cd e2e/bazel-7 && bazel build //...
- uses: actions/checkout@v4
- uses: bazel-contrib/[email protected]
with:
# Avoid downloading Bazel every time.
bazelisk-cache: true
# Keep a disk-cache
disk-cache: true
# Share repository cache between workflows.
repository-cache: true
# enable some flags for CI
bazelrc: |
import %workspace%/../../.aspect/bazelrc/ci.bazelrc
${{ matrix.version.bazelrc }}
- run: cd e2e/bazel-workspace && USE_BAZEL_VERSION=${{ matrix.version.version }} bazel build //...
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@ repo.yaml
dist
cmd/cmd
.bazelrc.user

# temporary files from MODULE.bazel
MODULE.bazel.lock
1 change: 0 additions & 1 deletion e2e/bazel-5/.bazelversion

This file was deleted.

15 changes: 0 additions & 15 deletions e2e/bazel-6/.bazelrc

This file was deleted.

1 change: 0 additions & 1 deletion e2e/bazel-6/.bazelversion

This file was deleted.

36 changes: 0 additions & 36 deletions e2e/bazel-6/BUILD.bazel

This file was deleted.

35 changes: 0 additions & 35 deletions e2e/bazel-6/WORKSPACE

This file was deleted.

15 changes: 0 additions & 15 deletions e2e/bazel-7/.bazelrc

This file was deleted.

1 change: 0 additions & 1 deletion e2e/bazel-7/.bazelversion

This file was deleted.

36 changes: 0 additions & 36 deletions e2e/bazel-7/BUILD.bazel

This file was deleted.

6 changes: 0 additions & 6 deletions e2e/bazel-7/MODULE.bazel

This file was deleted.

110 changes: 0 additions & 110 deletions e2e/bazel-7/MODULE.bazel.lock

This file was deleted.

35 changes: 0 additions & 35 deletions e2e/bazel-7/WORKSPACE

This file was deleted.

File renamed without changes.
2 changes: 2 additions & 0 deletions e2e/bazel-workspace/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# bazel 7+ will generate this file
MODULE.bazel
File renamed without changes.
File renamed without changes.

0 comments on commit 19d57b9

Please sign in to comment.