Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .github/actions/setup-bazelisk/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Setup Bazelisk
description: Install Bazelisk with one retry, then verify it is on PATH
inputs:
bazelisk-version:
description: Bazelisk version to install
required: false
default: "1.29.0"
runs:
using: composite
steps:
- name: Setup Bazelisk (attempt 1)
id: setup_bazelisk_1
continue-on-error: true
uses: bazel-contrib/setup-bazel@0.19.0
with:
bazelisk-version: ${{ inputs.bazelisk-version }}

- name: Setup Bazelisk (attempt 2)
id: setup_bazelisk_2
if: steps.setup_bazelisk_1.outcome != 'success'
continue-on-error: false
uses: bazel-contrib/setup-bazel@0.19.0
with:
bazelisk-version: ${{ inputs.bazelisk-version }}

# Composite run steps need an explicit shell. Use bash on Linux/macOS (pwsh
# is not always present after free-disk-space) and pwsh on Windows.
- name: Verify Bazelisk installation
if: runner.os != 'Windows'
shell: bash
run: bazelisk version || (echo "Failed to install Bazelisk after two setup attempts, or Bazelisk is not available on PATH." && exit 1)

- name: Verify Bazelisk installation
if: runner.os == 'Windows'
shell: pwsh
run: |
bazelisk version
if ($LASTEXITCODE -ne 0) {
Write-Error "Failed to install Bazelisk after two setup attempts, or Bazelisk is not available on PATH."
exit 1
}
12 changes: 3 additions & 9 deletions .github/workflows/ci_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,7 @@ jobs:

# 3️⃣ Install Bazelisk (recommended Bazel launcher)
- name: Setup Bazelisk
uses: bazel-contrib/setup-bazel@0.19.0
with:
bazelisk-version: "1.29.0"
uses: ./.github/actions/setup-bazelisk

# 4️⃣ (Optional) Install Doxygen for documentation generation
- name: Install Doxygen
Expand Down Expand Up @@ -87,9 +85,7 @@ jobs:
swap-storage: false

- name: Setup Bazelisk
uses: bazel-contrib/setup-bazel@0.19.0
with:
bazelisk-version: "1.29.0"
uses: ./.github/actions/setup-bazelisk

- name: Prefetch external repos
run: |
Expand Down Expand Up @@ -135,9 +131,7 @@ jobs:
swap-storage: false

- name: Setup Bazelisk
uses: bazel-contrib/setup-bazel@0.19.0
with:
bazelisk-version: "1.29.0"
uses: ./.github/actions/setup-bazelisk

- name: Prefetch external repos
run: |
Expand Down
8 changes: 2 additions & 6 deletions .github/workflows/ci_macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,7 @@ jobs:

# Install Bazelisk (recommended Bazel launcher)
- name: Setup Bazelisk
uses: bazel-contrib/setup-bazel@0.19.0
with:
bazelisk-version: "1.29.0"
uses: ./.github/actions/setup-bazelisk

# Install Doxygen, to generate documentation
- name: Install Doxygen
Expand Down Expand Up @@ -65,9 +63,7 @@ jobs:
uses: actions/checkout@v6

- name: Setup Bazelisk
uses: bazel-contrib/setup-bazel@0.19.0
with:
bazelisk-version: "1.29.0"
uses: ./.github/actions/setup-bazelisk

- name: Prefetch external repos
run: |
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/ci_wasm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ jobs:

# 3️⃣ Install Bazelisk (recommended Bazel launcher)
- name: Setup Bazelisk
uses: bazel-contrib/setup-bazel@0.19.0
with:
bazelisk-version: "1.29.0"
uses: ./.github/actions/setup-bazelisk

# 4️⃣ Prefetch emsdk / toolchain archives (retry transient network timeouts)
- name: Prefetch external repos
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/ci_windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,7 @@ jobs:

# Install Bazelisk (recommended Bazel launcher)
- name: Setup Bazelisk
uses: bazel-contrib/setup-bazel@0.19.0
with:
bazelisk-version: "1.29.0"
uses: ./.github/actions/setup-bazelisk

# Warm external deps (emsdk, LLVM, …); retry transient network fetch failures
- name: Prefetch external repos
Expand Down
Loading