Skip to content

build(deps): bump spring.version from 7.0.7 to 7.0.8 #81

build(deps): bump spring.version from 7.0.7 to 7.0.8

build(deps): bump spring.version from 7.0.7 to 7.0.8 #81

Workflow file for this run

# Build and test the library with Bazel.
#
# Bazel's built-in action caching combined with GitHub Actions cache gives
# incremental builds: only changed targets and their dependents are rebuilt.
#
# Cache layers used:
# 1. Repository cache – downloaded JARs / external repositories
# 2. Disk cache – action output cache (build artifacts)
# Repository cache is shared across OS runners; disk cache remains OS-scoped.
name: bazel
on:
push:
branches: ["master", "release-**"]
paths:
- "**/*.java"
- "**/BUILD.bazel"
- "MODULE.bazel"
- "pom.xml"
- "scripts/sync_bazel_dependencies.py"
- ".bazelversion"
- ".bazelrc"
- ".github/workflows/bazel.yml"
pull_request:
branches: ["master", "release-**"]
paths:
- "**/*.java"
- "**/BUILD.bazel"
- "MODULE.bazel"
- "pom.xml"
- "scripts/sync_bazel_dependencies.py"
- ".bazelversion"
- ".bazelrc"
- ".github/workflows/bazel.yml"
jobs:
bazel-build-test:
name: Bazel build & test (Java ${{ matrix.java }} on ${{ matrix.os }})
runs-on: ${{ matrix.os }}
permissions:
contents: read
strategy:
fail-fast: false
matrix:
java: ["11.0.x", "17.0.x", "21.0.x"]
os: [ubuntu-latest, macos-latest, windows-latest]
env:
BAZELISK_SKIP_VERSION_CHECK: "1"
# Prevent MSYS from rewriting Bazel labels (//pkg:target) into paths on
# Windows bash runners.
MSYS2_ARG_CONV_EXCL: "*"
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
- name: Set up Java ${{ matrix.java }}
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
with:
distribution: temurin
java-version: ${{ matrix.java }}
# Install Bazelisk which reads the pinned version from .bazelversion.
# Install into $HOME/.local/bin (no root required) and add it to PATH.
- name: Install Bazelisk (Linux)
if: runner.os == 'Linux'
run: |
mkdir -p "$HOME/.local/bin"
curl -fsSL \
https://github.com/bazelbuild/bazelisk/releases/download/v1.24.1/bazelisk-linux-amd64 \
-o "$HOME/.local/bin/bazel"
chmod +x "$HOME/.local/bin/bazel"
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
- name: Install Bazelisk (macOS)
if: runner.os == 'macOS'
run: |
mkdir -p "$HOME/.local/bin"
ARCH=$(uname -m)
SUFFIX="amd64"
[[ "$ARCH" == "arm64" ]] && SUFFIX="arm64"
curl -fsSL \
"https://github.com/bazelbuild/bazelisk/releases/download/v1.24.1/bazelisk-darwin-${SUFFIX}" \
-o "$HOME/.local/bin/bazel"
chmod +x "$HOME/.local/bin/bazel"
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
- name: Install Bazelisk (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
$dir = Join-Path $HOME ".local\bin"
New-Item -ItemType Directory -Force -Path $dir | Out-Null
Invoke-WebRequest `
-Uri "https://github.com/bazelbuild/bazelisk/releases/download/v1.24.1/bazelisk-windows-amd64.exe" `
-OutFile (Join-Path $dir "bazel.exe")
Add-Content $env:GITHUB_PATH "$dir"
# ----------------------------------------------------------------
# Cache layers
# The disk cache stores compiled action outputs; the repository cache
# stores downloaded external files (JARs, etc.).
# ----------------------------------------------------------------
- name: Restore Bazel repository cache (cross-OS)
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
with:
path: ~/.cache/bazel/cache/repos/v1
key: bazel-repos-java${{ matrix.java }}-${{ hashFiles('MODULE.bazel', '.bazelversion', 'maven_install.json') }}
restore-keys: |
bazel-repos-java${{ matrix.java }}-
bazel-repos-
enableCrossOsArchive: true
- name: Restore Bazel disk cache
id: bazel-cache
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
with:
path: |
~/.cache/bazel-disk-cache
~/.cache/bazel/cache/repos/v1
key: bazel-${{ runner.os }}-java${{ matrix.java }}-${{ hashFiles('MODULE.bazel', 'pom.xml', 'scripts/sync_bazel_dependencies.py', '.bazelversion', 'maven_install.json') }}
restore-keys: |
bazel-${{ runner.os }}-java${{ matrix.java }}-
bazel-${{ runner.os }}-
- name: Verify Bazel dependency sync
run: python3 scripts/sync_bazel_dependencies.py --check
# Re-generate the Maven lock file so it is always consistent with
# MODULE.bazel. The __INPUT_ARTIFACTS_HASH in the committed file is
# intentionally set to -1 to signal that the file needs to be regenerated;
# REPIN=1 overwrites it with the correct value. Once the artifact list
# stabilises, subsequent runs where MODULE.bazel has not changed are fast
# because rules_jvm_external short-circuits on an identical artifact list.
- name: Pin Maven dependencies
shell: bash
run: REPIN=1 bazel run @maven//:pin
# ----------------------------------------------------------------
# Build all core modules
# ----------------------------------------------------------------
# Use folded YAML scalars (no shell line-continuation backslashes) so
# the generated script remains portable across Windows/Linux/macOS.
- name: Build
shell: bash
run: >-
bazel build --config=ci
//kubernetes:client-java-api
//proto:client-java-proto
//util:client-java
//fluent:client-java-api-fluent
//extended:client-java-extended
# ----------------------------------------------------------------
# Test — run per-module test suites
# ----------------------------------------------------------------
- name: Test core modules
shell: bash
run: >-
bazel test --config=ci
//kubernetes:tests
//util:tests
//extended:tests