From 70fed3535e4459184aaedb0e04fb93c6f7e7eead Mon Sep 17 00:00:00 2001 From: Sam Freund Date: Fri, 2 Jan 2026 19:49:34 -0600 Subject: [PATCH] Bump various versions in actions (#2194) Bumps various versions in actions, as well as ensuring consistency across workflows wrt versions used. One of the key reasons is ensuring that we're up to date and consistent (previously having used 22.04 and 24.04), also since 3.11 is EOL. --- .github/workflows/build.yml | 45 +++++++++++++------------- .github/workflows/lint-format.yml | 12 +++---- .github/workflows/photon-api-docs.yml | 12 +++---- .github/workflows/photonvision-rtd.yml | 6 ++-- .github/workflows/python.yml | 6 ++-- .readthedocs.yaml | 4 +-- 6 files changed, 42 insertions(+), 43 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 56e0ffcab..0bd6f2d3e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,7 +30,7 @@ jobs: architecture: x64 - os: macos-14 architecture: aarch64 - - os: ubuntu-22.04 + - os: ubuntu-24.04 name: "Photonlib - Build Examples - ${{ matrix.os }}" runs-on: ${{ matrix.os }} @@ -54,7 +54,7 @@ jobs: run: | find ~/.gradle/cache/ -name *roborio-academic* -exec rm -rf {} + du -h . | sort -h - if: matrix.os == 'ubuntu-22.04' + if: matrix.os == 'ubuntu-24.04' # Need to publish to maven local first, so that C++ sim can pick it up - name: Publish photonlib to maven local run: ./gradlew photon-targeting:publishtomavenlocal photon-lib:publishtomavenlocal -x check @@ -70,7 +70,7 @@ jobs: ./gradlew clean playwright-tests: name: "Playwright E2E tests" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 needs: [validation] steps: # Checkout code. @@ -111,7 +111,7 @@ jobs: retention-days: 30 build-gradle: name: "Gradle Build" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 needs: [validation] steps: # Checkout code. @@ -140,12 +140,12 @@ jobs: run: ./gradlew test jacocoTestReport --stacktrace build-offline-docs: name: "Build Offline Docs" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: - python-version: '3.11' + python-version: '3.12' - name: Install graphviz run: | sudo apt-get update @@ -167,7 +167,7 @@ jobs: build-photonlib-vendorjson: name: "Build Vendor JSON" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 needs: [validation] steps: - uses: actions/checkout@v4 @@ -208,7 +208,7 @@ jobs: - os: macos-14 artifact-name: macOS architecture: aarch64 - - os: ubuntu-22.04 + - os: ubuntu-24.04 artifact-name: Linux name: "Photonlib - Build Host - ${{ matrix.artifact-name }}" @@ -254,7 +254,7 @@ jobs: artifact-name: Aarch64 build-options: "-Ponlylinuxarm64" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 container: ${{ matrix.container }} name: "Photonlib - Build Docker - ${{ matrix.artifact-name }}" needs: [validation] @@ -283,14 +283,14 @@ jobs: combine: name: Combine needs: [build-photonlib-docker, build-photonlib-host] - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - run: git fetch --tags --force # download all maven-* artifacts to outputs/ - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v7 with: merge-multiple: true path: output @@ -324,11 +324,11 @@ jobs: artifact-name: macOSArm architecture: x64 arch-override: macarm64 - - os: ubuntu-22.04 + - os: ubuntu-24.04 artifact-name: Linux architecture: x64 arch-override: linuxx64 - - os: ubuntu-22.04 + - os: ubuntu-24.04 artifact-name: LinuxArm64 architecture: x64 arch-override: linuxarm64 @@ -359,7 +359,7 @@ jobs: - name: Install Arm64 Toolchain run: ./gradlew installArm64Toolchain if: ${{ (matrix.artifact-name) == 'LinuxArm64' }} - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v7 with: name: built-docs path: photon-server/src/main/resources/web/docs @@ -383,12 +383,11 @@ jobs: fail-fast: false matrix: include: - - os: ubuntu-22.04 + - os: ubuntu-24.04 artifact-name: jar-Linux extraOpts: -Djdk.lang.Process.launchMechanism=vfork - os: windows-latest artifact-name: jar-Win64 - extraOpts: "" - os: macos-latest artifact-name: jar-macOS architecture: x64 @@ -401,7 +400,7 @@ jobs: with: java-version: 17 distribution: temurin - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v7 with: name: ${{ matrix.artifact-name }} - run: java -jar ${{ matrix.extraOpts }} *.jar --smoketest @@ -505,7 +504,7 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v7 with: name: jar-${{ matrix.artifact-name }} - uses: photonvision/photon-image-runner@HEAD @@ -559,25 +558,25 @@ jobs: release: needs: [build-photonlib-vendorjson, build-package, build-image, combine] if: github.ref == ('refs/heads/main' || startsWith(github.ref, 'refs/tags/v')) && github.repository == 'PhotonVision/photonvision' - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: # Download all fat JARs - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v7 with: merge-multiple: true pattern: jar-* # Download offline photonlib - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v7 with: merge-multiple: true pattern: photonlib-offline # Download vendor json - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v7 with: merge-multiple: true pattern: photonlib-vendor-json # Download all images - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v7 with: merge-multiple: true pattern: image-* diff --git a/.github/workflows/lint-format.yml b/.github/workflows/lint-format.yml index 2b32ad46b..56462d398 100644 --- a/.github/workflows/lint-format.yml +++ b/.github/workflows/lint-format.yml @@ -18,7 +18,7 @@ jobs: - uses: gradle/actions/wrapper-validation@v4 wpiformat: name: "wpiformat" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - name: Fetch all history and metadata @@ -26,10 +26,10 @@ jobs: git fetch --prune --unshallow git checkout -b pr git branch -f main origin/main - - name: Set up Python 3.8 - uses: actions/setup-python@v4 + - name: Set up Python 3.12 + uses: actions/setup-python@v5 with: - python-version: 3.11 + python-version: 3.12 - name: Install wpiformat run: pip3 install wpiformat==2025.79 - name: Run @@ -54,7 +54,7 @@ jobs: javaformat: name: "Java Formatting" needs: [validation] - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 with: @@ -77,7 +77,7 @@ jobs: defaults: run: working-directory: photon-client - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - name: Install pnpm diff --git a/.github/workflows/photon-api-docs.yml b/.github/workflows/photon-api-docs.yml index 9faad1f11..e31d2d242 100644 --- a/.github/workflows/photon-api-docs.yml +++ b/.github/workflows/photon-api-docs.yml @@ -27,7 +27,7 @@ jobs: defaults: run: working-directory: photon-client - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - name: Install pnpm @@ -52,7 +52,7 @@ jobs: run_java_cpp_docs: name: Build Java and C++ API Docs needs: [validation] - runs-on: "ubuntu-22.04" + runs-on: "ubuntu-24.04" steps: - name: Checkout code uses: actions/checkout@v4 @@ -77,10 +77,10 @@ jobs: publish_api_docs: name: Publish API Docs needs: [run_java_cpp_docs] - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: # Download docs artifact - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v7 with: pattern: docs-* - run: find . @@ -104,9 +104,9 @@ jobs: publish_demo: name: Publish PhotonClient Demo needs: [build_demo] - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v7 with: name: built-demo - run: find . diff --git a/.github/workflows/photonvision-rtd.yml b/.github/workflows/photonvision-rtd.yml index 7f02b87c2..cafd6b2f9 100644 --- a/.github/workflows/photonvision-rtd.yml +++ b/.github/workflows/photonvision-rtd.yml @@ -14,14 +14,14 @@ env: jobs: build: name: Build and Check Docs - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: - python-version: '3.11' + python-version: '3.12' - name: Install and upgrade pip run: python -m pip install --upgrade pip diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 86dbb8fb9..bb019938b 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -13,7 +13,7 @@ concurrency: jobs: buildAndDeploy: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Checkout code @@ -24,7 +24,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: 3.11 + python-version: 3.12 - name: Install dependencies run: | @@ -62,7 +62,7 @@ jobs: if: startsWith(github.ref, 'refs/tags/v') uses: pypa/gh-action-pypi-publish@release/v1 with: - packages_dir: ./photon-lib/py/dist/ + packages-dir: ./photon-lib/py/dist/ permissions: id-token: write # IMPORTANT: this permission is mandatory for trusted publishing diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 4cf9063ec..3e9bd8aaf 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -6,9 +6,9 @@ sphinx: fail_on_warning: true build: - os: ubuntu-22.04 + os: ubuntu-24.04 tools: - python: "3.11" + python: "3.12" apt_packages: - graphviz jobs: