diff --git a/.github/workflows/bazel.yml b/.github/workflows/bazel.yml index b85222db9b2..9a8caf0fa85 100644 --- a/.github/workflows/bazel.yml +++ b/.github/workflows/bazel.yml @@ -56,8 +56,8 @@ jobs: fail-fast: false matrix: include: - - { name: "Linux (native)", os: ubuntu-22.04, action: "test", config: "--config=linux", } - - { name: "Linux (roborio)", os: ubuntu-22.04, action: "build", config: "--config=roborio", } + - { name: "Linux (native)", os: ubuntu-24.04, action: "test", config: "--config=linux", } + - { name: "Linux (roborio)", os: ubuntu-24.04, action: "build", config: "--config=roborio", } name: "${{ matrix.name }}" runs-on: ${{ matrix.os }} steps: @@ -75,7 +75,7 @@ jobs: buildifier: name: "buildifier" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Set up Go 1.15.x uses: actions/setup-go@v5 diff --git a/.github/workflows/cmake-android.yml b/.github/workflows/cmake-android.yml index 46e2b09aab6..fc850f278d4 100644 --- a/.github/workflows/cmake-android.yml +++ b/.github/workflows/cmake-android.yml @@ -16,10 +16,10 @@ jobs: fail-fast: false matrix: include: - - os: ubuntu-22.04 + - os: ubuntu-24.04 name: Android Arm64 abi: arm64-v8a - - os: ubuntu-22.04 + - os: ubuntu-24.04 name: Android X64 abi: "x86_64" diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 921a10bbdb4..4f8edc4fcb1 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -16,9 +16,9 @@ jobs: fail-fast: false matrix: include: - - os: ubuntu-22.04 + - os: ubuntu-24.04 name: Linux - container: wpilib/roborio-cross-ubuntu:2025-22.04 + container: wpilib/roborio-cross-ubuntu:2025-24.04 flags: "--preset with-java-and-sccache -DCMAKE_BUILD_TYPE=Release -DWITH_EXAMPLES=ON" - os: macOS-14 name: macOS @@ -36,7 +36,7 @@ jobs: steps: - name: Install dependencies (Linux) if: runner.os == 'Linux' - run: sudo apt-get update && sudo apt-get install -y libopencv-dev libopencv4.5-java libprotobuf-dev protobuf-compiler ninja-build + run: sudo apt-get update && sudo apt-get install -y libopencv-dev libopencv-java libprotobuf-dev protobuf-compiler ninja-build - name: Install dependencies (macOS) if: runner.os == 'macOS' diff --git a/.github/workflows/comment-command.yml b/.github/workflows/comment-command.yml index 09c2428dece..7ee4d75869f 100644 --- a/.github/workflows/comment-command.yml +++ b/.github/workflows/comment-command.yml @@ -6,7 +6,7 @@ on: jobs: format: if: github.event.issue.pull_request && startsWith(github.event.comment.body, '/format') - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: React Rocket uses: actions/github-script@v7 @@ -43,9 +43,11 @@ jobs: distribution: 'temurin' java-version: 17 - name: Install wpiformat - run: pip3 install wpiformat==2024.50 + run: | + python -m venv ${{ runner.temp }}/wpiformat + ${{ runner.temp }}/wpiformat/bin/pip3 install wpiformat==2024.50 - name: Run wpiformat - run: wpiformat + run: ${{ runner.temp }}/wpiformat/bin/wpiformat - name: Run spotlessApply run: ./gradlew spotlessApply - name: Commit @@ -59,7 +61,7 @@ jobs: pregen: if: github.event.issue.pull_request && startsWith(github.event.comment.body, '/pregen') - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: React Rocket uses: actions/github-script@v7 diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 0ace70927e4..1c900c754a5 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -12,7 +12,7 @@ env: jobs: publish: name: "Documentation - Publish" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 if: github.repository == 'wpilibsuite/allwpilib' && (github.ref == 'refs/heads/main' || (startsWith(github.ref, 'refs/tags/v') && !contains(github.ref, '2027'))) concurrency: ci-docs-publish steps: diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index ee255f8a695..167966b8e2e 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -12,20 +12,20 @@ jobs: fail-fast: false matrix: include: - - container: wpilib/systemcore-cross-ubuntu:2025-22.04 + - container: wpilib/systemcore-cross-ubuntu:2025-24.04 artifact-name: SystemCore build-options: "-Ponlylinuxsystemcore" - - container: wpilib/raspbian-cross-ubuntu:bookworm-22.04 + - container: wpilib/raspbian-cross-ubuntu:bookworm-24.04 artifact-name: Arm32 build-options: "-Ponlylinuxarm32" - - container: wpilib/aarch64-cross-ubuntu:bookworm-22.04 + - container: wpilib/aarch64-cross-ubuntu:bookworm-24.04 artifact-name: Arm64 build-options: "-Ponlylinuxarm64" - - container: wpilib/ubuntu-base:22.04 + - container: wpilib/ubuntu-base:24.04 artifact-name: Linux build-options: "-Ponlylinuxx86-64" name: "Build - ${{ matrix.artifact-name }}" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Free Disk Space uses: jlumbroso/free-disk-space@main @@ -171,7 +171,7 @@ jobs: build-documentation: name: "Build - Documentation" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 with: @@ -196,7 +196,7 @@ jobs: combine: name: Combine needs: [build-docker, build-host, build-documentation] - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Free Disk Space if: | @@ -274,7 +274,7 @@ jobs: strategy: matrix: repo: ['SmartDashboard', 'PathWeaver', 'Shuffleboard', 'RobotBuilder'] - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: peter-evans/repository-dispatch@v3 if: | diff --git a/.github/workflows/lint-format.yml b/.github/workflows/lint-format.yml index 9b75d4ff895..88f730f56f7 100644 --- a/.github/workflows/lint-format.yml +++ b/.github/workflows/lint-format.yml @@ -13,7 +13,7 @@ concurrency: jobs: wpiformat: name: "wpiformat" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 with: @@ -27,9 +27,11 @@ jobs: with: python-version: '3.12' - name: Install wpiformat - run: pip3 install wpiformat==2024.50 + run: | + python -m venv ${{ runner.temp }}/wpiformat + ${{ runner.temp }}/wpiformat/bin/pip3 install wpiformat==2024.50 - name: Run - run: wpiformat + run: ${{ runner.temp }}/wpiformat/bin/wpiformat - name: Check output run: git --no-pager diff --exit-code HEAD - name: Generate diff @@ -50,8 +52,8 @@ jobs: tidy: name: "clang-tidy" - runs-on: ubuntu-22.04 - container: wpilib/ubuntu-base:22.04 + runs-on: ubuntu-24.04 + container: wpilib/ubuntu-base:24.04 steps: - uses: actions/checkout@v4 with: @@ -66,22 +68,24 @@ jobs: with: python-version: '3.12' - name: Install wpiformat - run: pip3 install wpiformat==2024.50 + run: | + python -m venv ${{ runner.temp }}/wpiformat + ${{ runner.temp }}/wpiformat/bin/pip3 install wpiformat==2024.50 - name: Create compile_commands.json run: | ./gradlew generateCompileCommands -Ptoolchain-optional-roboRio ./.github/workflows/fix_compile_commands.py build/TargetedCompileCommands/linuxx86-64release/compile_commands.json ./.github/workflows/fix_compile_commands.py build/TargetedCompileCommands/linuxx86-64debug/compile_commands.json - name: List changed files - run: wpiformat -list-changed-files + run: ${{ runner.temp }}/wpiformat/bin/wpiformat -list-changed-files - name: Run clang-tidy release - run: wpiformat -no-format -tidy-changed -compile-commands=build/TargetedCompileCommands/linuxx86-64release -vv + run: ${{ runner.temp }}/wpiformat/bin/wpiformat -no-format -tidy-changed -compile-commands=build/TargetedCompileCommands/linuxx86-64release -vv - name: Run clang-tidy debug - run: wpiformat -no-format -tidy-changed -compile-commands=build/TargetedCompileCommands/linuxx86-64debug -vv + run: ${{ runner.temp }}/wpiformat/bin/wpiformat -no-format -tidy-changed -compile-commands=build/TargetedCompileCommands/linuxx86-64debug -vv javaformat: name: "Java format" - runs-on: ubuntu-22.04 - container: wpilib/ubuntu-base:22.04 + runs-on: ubuntu-24.04 + container: wpilib/ubuntu-base:24.04 steps: - uses: actions/checkout@v4 with: @@ -113,7 +117,7 @@ jobs: documentation: name: "Documentation" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/pregenerate.yml b/.github/workflows/pregenerate.yml index 12e09da6a58..cb8ed0c70cb 100644 --- a/.github/workflows/pregenerate.yml +++ b/.github/workflows/pregenerate.yml @@ -13,7 +13,7 @@ concurrency: jobs: update: name: "Update" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/sanitizers.yml b/.github/workflows/sanitizers.yml index c32a3a05b8f..8640bcd5aff 100644 --- a/.github/workflows/sanitizers.yml +++ b/.github/workflows/sanitizers.yml @@ -29,11 +29,11 @@ jobs: ctest-env: "" ctest-flags: "" name: "${{ matrix.name }}" - runs-on: ubuntu-22.04 - container: wpilib/roborio-cross-ubuntu:2025-22.04 + runs-on: ubuntu-24.04 + container: wpilib/roborio-cross-ubuntu:2025-24.04 steps: - name: Install Dependencies - run: sudo apt-get update && sudo apt-get install -y libopencv-dev libopencv4.5-java clang-14 libprotobuf-dev protobuf-compiler ninja-build + run: sudo apt-get update && sudo apt-get install -y libopencv-dev libopencv-java clang-18 libprotobuf-dev protobuf-compiler ninja-build - name: Install sccache uses: mozilla-actions/sccache-action@v0.0.5 @@ -41,7 +41,7 @@ jobs: - uses: actions/checkout@v4 - name: configure - run: mkdir build && cd build && cmake -G Ninja -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DCMAKE_C_COMPILER:FILEPATH=/usr/bin/clang-14 -DCMAKE_CXX_COMPILER:FILEPATH=/usr/bin/clang++-14 -DWITH_JAVA=OFF ${{ matrix.cmake-flags }} .. + run: mkdir build && cd build && cmake -G Ninja -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DCMAKE_C_COMPILER:FILEPATH=/usr/bin/clang-18 -DCMAKE_CXX_COMPILER:FILEPATH=/usr/bin/clang++-18 -DWITH_JAVA=OFF ${{ matrix.cmake-flags }} .. env: SCCACHE_WEBDAV_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }} SCCACHE_WEBDAV_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }} diff --git a/.github/workflows/sentinel-build.yml b/.github/workflows/sentinel-build.yml index c75f577e1ba..866d54b9fb7 100644 --- a/.github/workflows/sentinel-build.yml +++ b/.github/workflows/sentinel-build.yml @@ -16,20 +16,20 @@ jobs: fail-fast: false matrix: include: - - container: wpilib/roborio-cross-ubuntu:2025-22.04 + - container: wpilib/roborio-cross-ubuntu:2025-24.04 artifact-name: Athena build-options: "-Ponlylinuxathena" - - container: wpilib/raspbian-cross-ubuntu:bookworm-22.04 + - container: wpilib/raspbian-cross-ubuntu:bookworm-24.04 artifact-name: Arm32 build-options: "-Ponlylinuxarm32" - - container: wpilib/aarch64-cross-ubuntu:bookworm-22.04 + - container: wpilib/aarch64-cross-ubuntu:bookworm-24.04 artifact-name: Arm64 build-options: "-Ponlylinuxarm64" - - container: wpilib/ubuntu-base:22.04 + - container: wpilib/ubuntu-base:24.04 artifact-name: Linux build-options: "-Ponlylinuxx86-64" name: "Build - ${{ matrix.artifact-name }}" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Free Disk Space uses: jlumbroso/free-disk-space@main diff --git a/.github/workflows/tools.yml b/.github/workflows/tools.yml index aa669a160c4..494cc575dff 100644 --- a/.github/workflows/tools.yml +++ b/.github/workflows/tools.yml @@ -12,7 +12,7 @@ env: jobs: build-artifacts: name: "Build - WPILib" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 env: DISPLAY: ':10' steps: @@ -32,7 +32,7 @@ jobs: - name: Build WPILib with Gradle uses: addnab/docker-run-action@v3 with: - image: wpilib/systemcore-cross-ubuntu:2025-22.04 + image: wpilib/systemcore-cross-ubuntu:2025-24.04 options: -v ${{ github.workspace }}:/work -w /work -e GITHUB_REF -e CI -e DISPLAY run: df . && rm -f semicolon_delimited_script && ./gradlew -Pskiplinuxarm64 :wpilibc:publish :wpilibj:publish :wpilibNewCommands:publish :hal:publish :cameraserver:publish :ntcore:publish :cscore:publish :wpimath:publish :wpinet:publish :wpiutil:publish :apriltag:publish :wpiunits:publish :simulation:halsim_gui:publish :simulation:halsim_ds_socket:publish :fieldImages:publish :epilogue-processor:publish :epilogue-runtime:publish :thirdparty:googletest:publish -x test -x Javadoc -x doxygen --build-cache && cp -r /root/releases/maven/development /work - uses: actions/upload-artifact@v4 @@ -45,7 +45,7 @@ jobs: # Robotbuilder: # name: "Build - RobotBuilder" # needs: [build-artifacts] - # runs-on: ubuntu-22.04 + # runs-on: ubuntu-24.04 # env: # DISPLAY: ':10' # steps: @@ -92,7 +92,7 @@ jobs: Shuffleboard: name: "Build - Shuffleboard" needs: [build-artifacts] - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 with: @@ -123,7 +123,7 @@ jobs: PathWeaver: name: "Build - PathWeaver" needs: [build-artifacts] - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/upstream-utils.yml b/.github/workflows/upstream-utils.yml index 587c7a6b3b6..fc8108e0133 100644 --- a/.github/workflows/upstream-utils.yml +++ b/.github/workflows/upstream-utils.yml @@ -13,7 +13,7 @@ concurrency: jobs: update: name: "Update" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 with: