chore: bump to Bazel 7.1.2 (#842)
This commit is contained in:
parent
a704c2608b
commit
c6c9426918
|
@ -0,0 +1 @@
|
||||||
|
../bazel7.bazelrc
|
|
@ -1,2 +1,2 @@
|
||||||
BAZELISK_BASE_URL=https://github.com/aspect-build/aspect-cli/releases/download
|
BAZELISK_BASE_URL=https://github.com/aspect-build/aspect-cli/releases/download
|
||||||
USE_BAZEL_VERSION=aspect/5.8.19
|
USE_BAZEL_VERSION=aspect/5.9.25
|
||||||
|
|
11
.bazelrc
11
.bazelrc
|
@ -1,17 +1,12 @@
|
||||||
# Bazel settings that apply to this repository.
|
|
||||||
# Settings that apply only to CI are in .aspect/bazelrc/ci.bazelrc
|
|
||||||
|
|
||||||
# Import Aspect bazelrc presets
|
# Import Aspect bazelrc presets
|
||||||
|
try-import %workspace%/.aspect/bazelrc/local/bazel7.bazelrc
|
||||||
import %workspace%/.aspect/bazelrc/convenience.bazelrc
|
import %workspace%/.aspect/bazelrc/convenience.bazelrc
|
||||||
import %workspace%/.aspect/bazelrc/correctness.bazelrc
|
import %workspace%/.aspect/bazelrc/correctness.bazelrc
|
||||||
import %workspace%/.aspect/bazelrc/performance.bazelrc
|
|
||||||
import %workspace%/.aspect/bazelrc/debug.bazelrc
|
import %workspace%/.aspect/bazelrc/debug.bazelrc
|
||||||
import %workspace%/.aspect/bazelrc/javascript.bazelrc
|
import %workspace%/.aspect/bazelrc/javascript.bazelrc
|
||||||
|
import %workspace%/.aspect/bazelrc/performance.bazelrc
|
||||||
|
|
||||||
# Use a try-import for Bazel 6 settings since this repository is also tested against Bazel 5 on CI
|
### YOUR PROJECT SPECIFIC OPTIONS GO HERE ###
|
||||||
try-import %workspace%/.aspect/bazelrc/bazel6.bazelrc
|
|
||||||
|
|
||||||
### PROJECT SPECIFIC OPTIONS ###
|
|
||||||
|
|
||||||
# For testing our --stamp behavior.
|
# For testing our --stamp behavior.
|
||||||
# Normally users would use a --workspace_status_command with a script that calls `git describe`.
|
# Normally users would use a --workspace_status_command with a script that calls `git describe`.
|
||||||
|
|
|
@ -1,7 +1 @@
|
||||||
6.5.0
|
7.1.2
|
||||||
# The first line of this file is used by Bazelisk and Bazel to be sure
|
|
||||||
# the right version of Bazel is used to build and test this repo.
|
|
||||||
# This also defines which version is used on CI.
|
|
||||||
#
|
|
||||||
# Note that you should also run integration_tests against other Bazel
|
|
||||||
# versions you support.
|
|
||||||
|
|
|
@ -45,12 +45,12 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- id: bazel_6
|
|
||||||
run: echo "bazelversion=$(head -n 1 .bazelversion)" >> $GITHUB_OUTPUT
|
|
||||||
- id: bazel_7
|
- id: bazel_7
|
||||||
run: echo "bazelversion=7.0.0" >> $GITHUB_OUTPUT
|
run: echo "bazelversion=$(head -n 1 .bazelversion)" >> $GITHUB_OUTPUT
|
||||||
|
- id: bazel_6
|
||||||
|
run: echo "bazelversion=6.5.0" >> $GITHUB_OUTPUT
|
||||||
outputs:
|
outputs:
|
||||||
# Will look like '["<version from .bazelversion>", "7.0.0"]'
|
# Will look like '["<version from .bazelversion>", ...]'
|
||||||
bazelversions: ${{ toJSON(steps.*.outputs.bazelversion) }}
|
bazelversions: ${{ toJSON(steps.*.outputs.bazelversion) }}
|
||||||
|
|
||||||
matrix-prep-os:
|
matrix-prep-os:
|
||||||
|
@ -89,7 +89,7 @@ jobs:
|
||||||
config: ${{ fromJSON(needs.matrix-prep-config.outputs.configs) }}
|
config: ${{ fromJSON(needs.matrix-prep-config.outputs.configs) }}
|
||||||
bazelversion: ${{ fromJSON(needs.matrix-prep-bazelversion.outputs.bazelversions) }}
|
bazelversion: ${{ fromJSON(needs.matrix-prep-bazelversion.outputs.bazelversions) }}
|
||||||
os: ${{ fromJSON(needs.matrix-prep-os.outputs.os) }}
|
os: ${{ fromJSON(needs.matrix-prep-os.outputs.os) }}
|
||||||
bzlmodEnabled: [true, false]
|
bzlmod: [1, 0]
|
||||||
folder:
|
folder:
|
||||||
- "."
|
- "."
|
||||||
- "e2e/copy_action"
|
- "e2e/copy_action"
|
||||||
|
@ -102,19 +102,22 @@ jobs:
|
||||||
# Don't test MacOS with RBE to minimize MacOS minutes (billed at 10X)
|
# Don't test MacOS with RBE to minimize MacOS minutes (billed at 10X)
|
||||||
- config: rbe
|
- config: rbe
|
||||||
os: macos-latest
|
os: macos-latest
|
||||||
# Don't test MacOS with Bazel 7 to minimize MacOS minutes (billed at 10X)
|
# Don't test MacOS with Bazel 6 to minimize MacOS minutes (billed at 10X)
|
||||||
- bazelversion: 7.0.0
|
- bazelversion: 6.5.0
|
||||||
os: macos-latest
|
os: macos-latest
|
||||||
# Don't test Windows with RBE to minimize Windows minutes (billed at 2X)
|
# Don't test Windows with RBE to minimize Windows minutes (billed at 2X)
|
||||||
- config: rbe
|
- config: rbe
|
||||||
os: windows-latest
|
os: windows-latest
|
||||||
# Don't test Windows with Bazel 7 to minimize Windows minutes (billed at 2X)
|
# Don't test Windows with Bazel 6 to minimize Windows minutes (billed at 2X)
|
||||||
- bazelversion: 7.0.0
|
- bazelversion: 6.5.0
|
||||||
|
os: windows-latest
|
||||||
|
# TODO: green up root Workspace on MacOS & Windows
|
||||||
|
- folder: .
|
||||||
|
os: macos-latest
|
||||||
|
- folder: .
|
||||||
os: windows-latest
|
os: windows-latest
|
||||||
|
|
||||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
|
||||||
steps:
|
steps:
|
||||||
# Checks-out your repository under ${{ github.workspace }} , so your job can access it
|
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Mount bazel caches
|
- name: Mount bazel caches
|
||||||
|
@ -127,41 +130,18 @@ jobs:
|
||||||
restore-keys: bazel-cache-${{ matrix.os }}-${{ matrix.bazelversion }}-${{ matrix.folder }}-${{ matrix.bzlmodEnabled }}-${{ matrix.config }}-
|
restore-keys: bazel-cache-${{ matrix.os }}-${{ matrix.bazelversion }}-${{ matrix.folder }}-${{ matrix.bzlmodEnabled }}-${{ matrix.config }}-
|
||||||
|
|
||||||
- name: Configure Bazel version
|
- name: Configure Bazel version
|
||||||
if: ${{ matrix.os != 'windows-latest' }}
|
|
||||||
working-directory: ${{ matrix.folder }}
|
working-directory: ${{ matrix.folder }}
|
||||||
# - Overwrite the .bazelversion instead of using USE_BAZEL_VERSION so that Bazelisk
|
shell: bash
|
||||||
# still bootstraps Aspect CLI from configuration in .bazeliskrc. Aspect CLI will
|
|
||||||
# then use .bazelversion to determine which Bazel version to use.
|
|
||||||
# - Delete the .aspect/bazelrc/bazel6.bazelrc file if we are not testing
|
|
||||||
# against Bazel 6 which has a try-import in the root .bazelrc for local development.
|
|
||||||
run: |
|
run: |
|
||||||
BAZEL_VERSION=${{ matrix.bazelversion }}
|
# Overwrite the .bazelversion instead of using USE_BAZEL_VERSION so that Bazelisk
|
||||||
|
# still bootstraps Aspect CLI from configuration in .bazeliskrc. Aspect CLI will
|
||||||
|
# then use .bazelversion to determine which Bazel version to use.
|
||||||
echo "${{ matrix.bazelversion }}" > .bazelversion
|
echo "${{ matrix.bazelversion }}" > .bazelversion
|
||||||
if [ ${BAZEL_VERSION::1} != "6" ]; then rm -f .aspect/bazelrc/bazel6.bazelrc; fi
|
# Delete all the version specific bazelrc files that are used for local development
|
||||||
|
# since the version we're testing against is dynamic. These are just symlinks and the
|
||||||
- name: Configure Bazel version (Windows)
|
# root .bazelrc brings these in with try-imports. In this CI workflows, we explicitly
|
||||||
if: ${{ matrix.os == 'windows-latest' }}
|
# bring in the version specific bazelrc file with --bazelrc when we invoke bazel.
|
||||||
working-directory: ${{ matrix.folder }}
|
rm ${GITHUB_WORKSPACE//\\/\/}/.aspect/bazelrc/local/*.bazelrc
|
||||||
# - Overwrite the .bazelversion instead of using USE_BAZEL_VERSION so that Bazelisk
|
|
||||||
# still bootstraps Aspect CLI from configuration in .bazeliskrc. Aspect CLI will
|
|
||||||
# then use .bazelversion to determine which Bazel version to use.
|
|
||||||
# - Delete the .aspect/bazelrc/bazel6.bazelrc file if we are not testing
|
|
||||||
# against Bazel 6 which has a try-import in the root .bazelrc for local development.
|
|
||||||
# - Delete the .bazeliskrc file since Aspect CLI doesn't current ship Windows binaries
|
|
||||||
run: |
|
|
||||||
echo "${{ matrix.bazelversion }}" > .bazelversion
|
|
||||||
$BAZEL_MAJOR_VERSION = "${{ matrix.bazelversion }}".substring(0, 1)
|
|
||||||
if ($BAZEL_MAJOR_VERSION -ne "6") {
|
|
||||||
rm -Force .aspect/bazelrc/bazel6.bazelrc
|
|
||||||
}
|
|
||||||
rm -Force .bazeliskrc
|
|
||||||
|
|
||||||
- name: Set bzlmod flag
|
|
||||||
# Store the --enable_bzlmod flag that we add to the test command below
|
|
||||||
# only when we're running bzlmod in our test matrix.
|
|
||||||
id: set_bzlmod_flag
|
|
||||||
if: matrix.bzlmodEnabled
|
|
||||||
run: echo "bzlmod_flag=--enable_bzlmod" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
- name: Write rbe credentials
|
- name: Write rbe credentials
|
||||||
if: ${{ matrix.config == 'rbe' }}
|
if: ${{ matrix.config == 'rbe' }}
|
||||||
|
@ -173,41 +153,37 @@ jobs:
|
||||||
env:
|
env:
|
||||||
BUILDBUDDY_API_KEY: ${{ secrets.BUILDBUDDY_API_KEY }}
|
BUILDBUDDY_API_KEY: ${{ secrets.BUILDBUDDY_API_KEY }}
|
||||||
|
|
||||||
- name: bazel test //...
|
# TODO: remove this block once we have Aspect CLI Windows releases
|
||||||
if: ${{ matrix.os != 'windows-latest' }}
|
- name: Don't use Aspect CLI on Windows
|
||||||
|
if: matrix.os == 'windows-latest'
|
||||||
working-directory: ${{ matrix.folder }}
|
working-directory: ${{ matrix.folder }}
|
||||||
|
shell: bash
|
||||||
|
run: rm -f .bazeliskrc
|
||||||
|
|
||||||
|
- name: bazel test //...
|
||||||
|
working-directory: ${{ matrix.folder }}
|
||||||
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
BAZEL_VERSION=${{ matrix.bazelversion }}
|
BAZEL_VERSION=${{ matrix.bazelversion }}
|
||||||
bazel --bazelrc=${{ github.workspace }}/.aspect/bazelrc/ci.bazelrc \
|
bazel \
|
||||||
--bazelrc=${{ github.workspace }}/.github/workflows/ci.bazelrc \
|
--bazelrc=${GITHUB_WORKSPACE//\\/\/}/.aspect/bazelrc/bazel${BAZEL_VERSION::1}.bazelrc \
|
||||||
--bazelrc=${{ github.workspace }}/.aspect/bazelrc/bazel${BAZEL_VERSION::1}.bazelrc \
|
--bazelrc=${GITHUB_WORKSPACE//\\/\/}/.aspect/bazelrc/ci.bazelrc \
|
||||||
test --config=${{ matrix.config }} //... \
|
--bazelrc=${GITHUB_WORKSPACE//\\/\/}/.github/workflows/ci.bazelrc \
|
||||||
${{ steps.set_bzlmod_flag.outputs.bzlmod_flag }}
|
test \
|
||||||
|
--config=${{ matrix.config }} \
|
||||||
|
--test_tag_filters=-skip-on-bazel${BAZEL_VERSION::1} \
|
||||||
|
--build_tag_filters=-skip-on-bazel${BAZEL_VERSION::1} \
|
||||||
|
--enable_bzlmod=${{ matrix.bzlmod }} \
|
||||||
|
//...
|
||||||
env:
|
env:
|
||||||
# Bazelisk will download bazel to here
|
XDG_CACHE_HOME: ~/.cache/xdg-cache # bazelisk will download bazel to here
|
||||||
XDG_CACHE_HOME: ~/.cache/bazel-repo
|
|
||||||
|
|
||||||
- name: bazel test //... (Windows)
|
|
||||||
# A different run command is needed on Windows to account for differences between bash and Powershell
|
|
||||||
if: ${{ matrix.os == 'windows-latest' }}
|
|
||||||
working-directory: ${{ matrix.folder }}
|
|
||||||
run: |
|
|
||||||
$BAZEL_MAJOR_VERSION = "${{ matrix.bazelversion }}".substring(0, 1)
|
|
||||||
bazel --bazelrc=${{ github.workspace }}/.aspect/bazelrc/ci.bazelrc `
|
|
||||||
--bazelrc=${{ github.workspace }}/.github/workflows/ci.bazelrc `
|
|
||||||
--bazelrc=${{ github.workspace }}/.aspect/bazelrc/bazel$BAZEL_MAJOR_VERSION.bazelrc `
|
|
||||||
test --config=${{ matrix.config }} //... `
|
|
||||||
${{ steps.set_bzlmod_flag.outputs.bzlmod_flag }}
|
|
||||||
env:
|
|
||||||
# Bazelisk will download bazel to here
|
|
||||||
XDG_CACHE_HOME: ~/.cache/bazel-repo
|
|
||||||
|
|
||||||
- name: integration tests
|
- name: integration tests
|
||||||
# Don't run integration tests on Windows since they are bash scripts and Windows runs Powershell
|
# Don't run integration tests on Windows since they are bash scripts and Windows runs Powershell
|
||||||
if: ${{ matrix.folder == '.' && matrix.os != 'windows-latest' }}
|
if: matrix.folder == '.' && matrix.os != 'windows-latest' && matrix.bazelversion != '6.5.0'
|
||||||
# Find all shell scripts within e2e, echo the filename, execute, fail on error
|
# Find all shell scripts within e2e, echo the filename, execute, fail on error
|
||||||
run: find e2e/*.sh -maxdepth 1 -type f -exec sh -c 'echo "\n\n------------------------------- $0 -------------------------------" && BZLMOD_FLAG=${{ steps.set_bzlmod_flag.outputs.bzlmod_flag }} "$0" || kill $PPID' \{\} \;
|
run: find e2e/*.sh -maxdepth 1 -type f -exec sh -c 'echo "\n\n------------------------------- $0 -------------------------------" && BZLMOD_FLAG=${{ steps.set_bzlmod_flag.outputs.bzlmod_flag }} "$0" || kill $PPID' \{\} \;
|
||||||
|
|
||||||
- name: verify bcr patches
|
- name: verify bcr patches
|
||||||
if: matrix.bzlmodEnabled && matrix.os == 'ubuntu-latest'
|
if: matrix.bzlmod == '1' && matrix.os == 'ubuntu-latest'
|
||||||
run: patch --dry-run -p1 < .bcr/patches/*.patch
|
run: patch --dry-run -p1 < .bcr/patches/*.patch
|
||||||
|
|
Loading…
Reference in New Issue