Skip to content
Open
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
4 changes: 2 additions & 2 deletions .github/workflows/artifactory-nightly-cleanup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:

jobs:
wpilib-mvn-development_unused_cleanup:
runs-on: ubuntu-latest
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-2vcpu-ubuntu-2404', 'ubuntu-24.04') }}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It probably makes more sense for this small automation stuff to use ubuntu-slim?

@Gold856 Gold856 Aug 28, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ubuntu-slim runners aren’t enough for cache cleanup. Some of those runs exceed 15 minutes.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, from a quick look through, it seems like all the maven cleanups finish under 15 minutes? But yeah the general cache cleanup does look like it can take a while.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Otherwise though, I don't think we necessarily need to move all the things to Blacksmith runners. Definitely we should move all our build/test jobs for speed, but for example we can leave the pregen job be for now to unblock our speedy builds.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, the other thing I wanted Blacksmith for was CI log search. It's leagues better than GitHub's. In the event any of the small jobs start failing weirdly, I'd like to be able to go through logs to investigate and also have better metrics into when and how many are failing.

(also these being 2 vCPU runners means we're allocated less cores than we would have on GitHub, which is nice from a general resource usage/environmental perspective.)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm. Does Blacksmith offer 1 vCPU runners like ubuntu-slim?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, only 2 vCPU runners and above.

if: github.repository == 'wpilibsuite/allwpilib' && github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v7
Expand All @@ -20,7 +20,7 @@ jobs:
run: jf rt del --spec=.github/workflows/aql/wpilib-mvn-development_unused.aql

wpilib-generic-gradle-cache_unused_cleanup:
runs-on: ubuntu-latest
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-2vcpu-ubuntu-2404', 'ubuntu-24.04') }}
if: github.repository == 'wpilibsuite/allwpilib' && github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v7
Expand Down
80 changes: 60 additions & 20 deletions .github/workflows/bazel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,61 @@ jobs:
fail-fast: false
matrix:
include:
- { name: "Linux System Core", classifier: "linuxsystemcore,linuxsystemcorestatic", os: ubuntu-24.04, container: wpilib/debian-base:trixie, action: "build" }
- { name: "Linux System Core Debug", classifier: "linuxsystemcoredebug,linuxsystemcorestaticdebug", os: ubuntu-24.04, container: wpilib/debian-base:trixie, action: "build" }
- { name: "Linux x86-64", classifier: "linuxx86-64,linuxx86-64static,headers,sources", os: ubuntu-24.04, container: wpilib/debian-base:trixie, action: "test" }
- { name: "Linux x86-64 Debug", classifier: "linuxx86-64debug,linuxx86-64staticdebug", os: ubuntu-24.04, container: wpilib/debian-base:trixie, action: "test" }

- { name: "macOS", classifier: "osxuniversal,osxuniversaldebug,headers,sources,osxuniversalstatic,osxuniversalstaticdebug,linuxsystemcore,linuxsystemcoredebug,linuxsystemcorestatic,linuxsystemcorestaticdebug", os: macOS-15, container: "", action: "test" }

- { name: "Windows x86-64", classifier: "windowsx86-64,windowsx86-64static,headers,sources", os: windows-2025, container: "", action: "test" }
- { name: "Windows x86-64 Debug", classifier: "windowsx86-64debug,windowsx86-64staticdebug", os: windows-2025, container: "", action: "test" }

- { name: "Windows ARM64", classifier: "windowsarm64,windowsarm64static", os: windows-2025, container: "", action: "build" }
- { name: "Windows ARM64 Debug", classifier: "windowsarm64debug,windowsarm64staticdebug", os: windows-2025, container: "", action: "build" }

- { name: "Windows System Core", classifier: "linuxsystemcore,linuxsystemcorestatic", os: windows-2025, container: "", action: "build" }
- { name: "Windows System Core Debug", classifier: "linuxsystemcoredebug,linuxsystemcorestaticdebug", os: windows-2025, container: "", action: "build" }
- name: "Linux System Core"
classifier: "linuxsystemcore,linuxsystemcorestatic"
os: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-4vcpu-ubuntu-2404', 'ubuntu-24.04') }}
container: wpilib/debian-base:trixie
action: "build"
- name: "Linux System Core Debug"
classifier: "linuxsystemcoredebug,linuxsystemcorestaticdebug"
os: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-4vcpu-ubuntu-2404', 'ubuntu-24.04') }}
container: wpilib/debian-base:trixie
action: "build"
- name: "Linux x86-64"
classifier: "linuxx86-64,linuxx86-64static,headers,sources"
os: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-4vcpu-ubuntu-2404', 'ubuntu-24.04') }}
container: wpilib/debian-base:trixie
action: "test"
- name: "Linux x86-64 Debug"
classifier: "linuxx86-64debug,linuxx86-64staticdebug"
os: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-4vcpu-ubuntu-2404', 'ubuntu-24.04') }}
container: wpilib/debian-base:trixie
action: "test"
- name: "macOS"
classifier: "osxuniversal,osxuniversaldebug,headers,sources,osxuniversalstatic,osxuniversalstaticdebug,linuxsystemcore,linuxsystemcoredebug,linuxsystemcorestatic,linuxsystemcorestaticdebug"
os: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-12vcpu-macos-15', 'macOS-15') }}
container: ""
action: "test"
- name: "Windows x86-64"
classifier: "windowsx86-64,windowsx86-64static,headers,sources"
os: windows-2025
container: ""
action: "test"
- name: "Windows x86-64 Debug"
classifier: "windowsx86-64debug,windowsx86-64staticdebug"
os: windows-2025
container: ""
action: "test"
- name: "Windows ARM64"
classifier: "windowsarm64,windowsarm64static"
os: windows-2025
container: ""
action: "build"
- name: "Windows ARM64 Debug"
classifier: "windowsarm64debug,windowsarm64staticdebug"
os: windows-2025
container: ""
action: "build"
- name: "Windows System Core"
classifier: "linuxsystemcore,linuxsystemcorestatic"
os: windows-2025
container: ""
action: "build"
- name: "Windows System Core Debug"
classifier: "linuxsystemcoredebug,linuxsystemcorestaticdebug"
os: windows-2025
container: ""
action: "build"

name: "${{ matrix.action == 'test' && 'Test' || 'Build' }} ${{ matrix.name }}"
runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -105,7 +145,7 @@ jobs:

buildifier:
name: "buildifier"
runs-on: ubuntu-24.04
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-2vcpu-ubuntu-2404', 'ubuntu-24.04') }}
steps:
- uses: actions/checkout@v7

Expand All @@ -126,7 +166,7 @@ jobs:
if: ${{ failure() }}

mod-lock:
runs-on: ubuntu-24.04
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-2vcpu-ubuntu-2404', 'ubuntu-24.04') }}
steps:
- uses: actions/checkout@v7

Expand All @@ -148,7 +188,7 @@ jobs:

non_robotpy_pregeneration:
name: "Non-RobotPy Pregen"
runs-on: ubuntu-24.04
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-2vcpu-ubuntu-2404', 'ubuntu-24.04') }}
steps:
- uses: actions/checkout@v7
with: { fetch-depth: 0 }
Expand Down Expand Up @@ -178,7 +218,7 @@ jobs:

robotpy_pregeneration:
name: "Robotpy Pregeneration"
runs-on: ubuntu-24.04
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-2vcpu-ubuntu-2404', 'ubuntu-24.04') }}
steps:
- uses: actions/checkout@v7
with: { fetch-depth: 0 }
Expand Down Expand Up @@ -219,7 +259,7 @@ jobs:
# that get transferred to the upstream mostrobotpy repository
robotpy_format:
name: "RobotPy Formatting"
runs-on: ubuntu-24.04
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-2vcpu-ubuntu-2404', 'ubuntu-24.04') }}
steps:
- uses: actions/checkout@v7
with:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/cmake-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ jobs:
fail-fast: false
matrix:
include:
- os: ubuntu-24.04
- os: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-4vcpu-ubuntu-2404', 'ubuntu-24.04') }}
name: Android Arm64
abi: arm64-v8a
- os: ubuntu-24.04
- os: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-4vcpu-ubuntu-2404', 'ubuntu-24.04') }}
name: Android X64
abi: "x86_64"

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ jobs:
fail-fast: false
matrix:
include:
- os: ubuntu-24.04
- os: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-4vcpu-ubuntu-2404', 'ubuntu-24.04') }}
name: Linux
container: wpilib/systemcore-cross-debian:trixie
flags: "--preset with-sccache -DCMAKE_BUILD_TYPE=Release -DWPILIB_WITH_EXAMPLES=ON"
- os: macOS-15
- os: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-6vcpu-macos-15', 'macOS-15') }}
name: macOS
container: ""
flags: "--preset with-sccache -DCMAKE_BUILD_TYPE=Release -DWPILIB_WITH_EXAMPLES=ON -DWPILIB_WITH_GUI=ON -DWPILIB_WITH_WPICAL=ON -DWPILIB_USE_SYSTEM_EIGEN=ON"
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ concurrency:
jobs:
validation:
name: "Validation"
runs-on: ubuntu-latest
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-2vcpu-ubuntu-2404', 'ubuntu-24.04') }}
Comment thread
Gold856 marked this conversation as resolved.
steps:
- uses: actions/checkout@v7
- uses: gradle/actions/wrapper-validation@v6
Expand All @@ -29,7 +29,7 @@ jobs:
artifact-name: Linux
build-options: "-Ponlylinuxx86-64"
name: "Build - ${{ matrix.artifact-name }}"
runs-on: ubuntu-24.04
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-4vcpu-ubuntu-2404', 'ubuntu-24.04') }}
needs: [validation]
steps:
- name: Check disk free space pre-cleanup
Expand Down Expand Up @@ -108,7 +108,7 @@ jobs:
build-options: "-PciReleaseOnly -Pbuildwinarm64 -Ponlywindowsarm64"
task: "copyAllOutputs"
outputs: "build/allOutputs"
- os: macOS-15
- os: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-6vcpu-macos-15', 'macOS-15') }}
artifact-name: macOS
architecture: aarch64
task: "build"
Expand Down Expand Up @@ -192,7 +192,7 @@ jobs:

build-documentation:
name: "Build - Documentation"
runs-on: ubuntu-24.04
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-4vcpu-ubuntu-2404', 'ubuntu-24.04') }}
needs: [validation]
steps:
- uses: actions/checkout@v7
Expand Down Expand Up @@ -284,7 +284,7 @@ jobs:
combine:
name: Combine
needs: [build-docker, build-host, build-documentation]
runs-on: ubuntu-24.04
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-4vcpu-ubuntu-2404', 'ubuntu-24.04') }}
steps:
- name: Free disk space
if: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-2vcpu-ubuntu-2404', 'ubuntu-24.04') }}
steps:
- uses: actions/labeler@v7
with:
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/lint-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ concurrency:
jobs:
validation:
name: "Validation"
runs-on: ubuntu-latest
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-2vcpu-ubuntu-2404', 'ubuntu-24.04') }}
steps:
- uses: actions/checkout@v7
- uses: gradle/actions/wrapper-validation@v6

wpiformat:
name: "wpiformat"
runs-on: ubuntu-24.04
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-4vcpu-ubuntu-2404', 'ubuntu-24.04') }}
steps:
- uses: actions/checkout@v7
with:
Expand Down Expand Up @@ -60,7 +60,7 @@ jobs:

tidy:
name: "clang-tidy"
runs-on: ubuntu-24.04
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-4vcpu-ubuntu-2404', 'ubuntu-24.04') }}
needs: [validation]
container: wpilib/debian-base:trixie
steps:
Expand Down Expand Up @@ -93,7 +93,7 @@ jobs:
run: ${{ runner.temp }}/wpiformat/bin/wpiformat -no-format -tidy-changed -compile-commands=build/TargetedCompileCommands/linuxx86-64debug
javaformat:
name: "Java format"
runs-on: ubuntu-24.04
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-4vcpu-ubuntu-2404', 'ubuntu-24.04') }}
needs: [validation]
container: wpilib/debian-base:trixie
steps:
Expand Down Expand Up @@ -126,7 +126,7 @@ jobs:
if: ${{ failure() }}

check-spelling:
runs-on: ubuntu-24.04
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-4vcpu-ubuntu-2404', 'ubuntu-24.04') }}
steps:
- uses: actions/checkout@v7
- name: misspell
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pregenerate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ concurrency:
jobs:
update:
name: "Update"
runs-on: ubuntu-24.04
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-2vcpu-ubuntu-2404', 'ubuntu-24.04') }}
steps:
- uses: actions/checkout@v7
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/sanitizers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
ctest-env: ""
ctest-flags: ""
name: "${{ matrix.name }}"
runs-on: ubuntu-24.04
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-4vcpu-ubuntu-2404', 'ubuntu-24.04') }}
container: wpilib/debian-base:trixie
steps:
- name: Install Dependencies
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/sentinel-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ concurrency:
jobs:
validation:
name: "Validation"
runs-on: ubuntu-latest
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-2vcpu-ubuntu-2404', 'ubuntu-24.04') }}
steps:
- uses: actions/checkout@v7
- uses: gradle/actions/wrapper-validation@v6
Expand All @@ -33,7 +33,7 @@ jobs:
artifact-name: Linux
build-options: "-Ponlylinuxx86-64"
name: "Build - ${{ matrix.artifact-name }}"
runs-on: ubuntu-24.04
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-4vcpu-ubuntu-2404', 'ubuntu-24.04') }}
needs: [validation]
steps:
- name: Free Disk Space
Expand Down Expand Up @@ -98,7 +98,7 @@ jobs:
build-options: "-PciReleaseOnly -Pbuildwinarm64 -Ponlywindowsarm64"
task: "copyAllOutputs"
outputs: "build/allOutputs"
- os: macOS-15
- os: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-6vcpu-macos-15', 'macOS-15') }}
artifact-name: macOS
architecture: aarch64
task: "build"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/upstream-utils.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ concurrency:
jobs:
update:
name: "Update"
runs-on: ubuntu-24.04
runs-on: ${{ case(github.repository_owner == 'wpilibsuite', 'blacksmith-2vcpu-ubuntu-2404', 'ubuntu-24.04') }}
steps:
- uses: actions/checkout@v7
with:
Expand Down
Loading