Upgrade actions to Node 24 and remove unneeded archival (#2416)

Co-authored-by: Gold856 <117957790+Gold856@users.noreply.github.com>
Co-authored-by: Jade Turner <spacey-sooty@proton.me>
Co-authored-by: Jordan McMichael <jlmcmchl@gmail.com>
This commit is contained in:
Sam Freund
2026-04-09 10:16:10 -05:00
committed by samfreund
parent 872b587bae
commit 7764ccc533
5 changed files with 47 additions and 62 deletions

View File

@@ -110,7 +110,7 @@ jobs:
java-version: 17 java-version: 17
distribution: temurin distribution: temurin
- name: Install pnpm - name: Install pnpm
uses: pnpm/action-setup@v4 uses: pnpm/action-setup@v5
with: with:
version: 10 version: 10
- name: Setup Node.js - name: Setup Node.js
@@ -127,10 +127,10 @@ jobs:
- name: Run Playwright tests - name: Run Playwright tests
working-directory: photon-client working-directory: photon-client
run: pnpm test run: pnpm test
- uses: actions/upload-artifact@v6 - uses: actions/upload-artifact@v7
if: ${{ !cancelled() }} if: ${{ !cancelled() }}
with: with:
name: playwright-report archive: false
path: photon-client/playwright-report/ path: photon-client/playwright-report/
retention-days: 30 retention-days: 30
build-gradle: build-gradle:
@@ -151,7 +151,7 @@ jobs:
java-version: 17 java-version: 17
distribution: temurin distribution: temurin
- name: Install pnpm - name: Install pnpm
uses: pnpm/action-setup@v4 uses: pnpm/action-setup@v5
with: with:
version: 10 version: 10
- name: Setup Node.js - name: Setup Node.js
@@ -184,7 +184,7 @@ jobs:
working-directory: docs working-directory: docs
run: | run: |
make html make html
- uses: actions/upload-artifact@v6 - uses: actions/upload-artifact@v7
with: with:
name: built-docs name: built-docs
path: docs/build/html path: docs/build/html
@@ -214,9 +214,9 @@ jobs:
mv photon-lib/build/generated/vendordeps/photonlib.json photon-lib/build/generated/vendordeps/photonlib-$(git describe --tags --match=v*).json mv photon-lib/build/generated/vendordeps/photonlib.json photon-lib/build/generated/vendordeps/photonlib-$(git describe --tags --match=v*).json
# Upload it here so it shows up in releases # Upload it here so it shows up in releases
- uses: actions/upload-artifact@v6 - uses: actions/upload-artifact@v7
with: with:
name: photonlib-vendor-json archive: false
path: photon-lib/build/generated/vendordeps/photonlib-*.json path: photon-lib/build/generated/vendordeps/photonlib-*.json
build-photonlib-host: build-photonlib-host:
@@ -255,7 +255,7 @@ jobs:
if: github.event_name == 'push' && github.repository_owner == 'photonvision' && github.ref == 'refs/heads/main' if: github.event_name == 'push' && github.repository_owner == 'photonvision' && github.ref == 'refs/heads/main'
# Copy artifacts to build/outputs/maven # Copy artifacts to build/outputs/maven
- run: ./gradlew photon-lib:publish photon-targeting:publish -PcopyOfflineArtifacts - run: ./gradlew photon-lib:publish photon-targeting:publish -PcopyOfflineArtifacts
- uses: actions/upload-artifact@v6 - uses: actions/upload-artifact@v7
with: with:
name: maven-${{ matrix.artifact-name }} name: maven-${{ matrix.artifact-name }}
path: build/outputs path: build/outputs
@@ -296,7 +296,7 @@ jobs:
if: github.event_name == 'push' && github.repository_owner == 'photonvision' && github.ref == 'refs/heads/main' if: github.event_name == 'push' && github.repository_owner == 'photonvision' && github.ref == 'refs/heads/main'
# Copy artifacts to build/outputs/maven # Copy artifacts to build/outputs/maven
- run: ./gradlew photon-lib:publish photon-targeting:publish -PcopyOfflineArtifacts ${{ matrix.build-options }} - run: ./gradlew photon-lib:publish photon-targeting:publish -PcopyOfflineArtifacts ${{ matrix.build-options }}
- uses: actions/upload-artifact@v6 - uses: actions/upload-artifact@v7
with: with:
name: maven-${{ matrix.artifact-name }} name: maven-${{ matrix.artifact-name }}
path: build/outputs path: build/outputs
@@ -311,7 +311,7 @@ jobs:
fetch-depth: 0 fetch-depth: 0
- run: git fetch --tags --force - run: git fetch --tags --force
# download all maven-* artifacts to outputs/ # download all maven-* artifacts to outputs/
- uses: actions/download-artifact@v7 - uses: actions/download-artifact@v8
with: with:
merge-multiple: true merge-multiple: true
path: output path: output
@@ -321,7 +321,7 @@ jobs:
name: ZIP stuff up name: ZIP stuff up
working-directory: output working-directory: output
- run: ls output - run: ls output
- uses: actions/upload-artifact@v6 - uses: actions/upload-artifact@v7
with: with:
name: photonlib-offline name: photonlib-offline
path: output/*.zip path: output/*.zip
@@ -353,7 +353,7 @@ jobs:
java-version: 17 java-version: 17
distribution: temurin distribution: temurin
- name: Install pnpm - name: Install pnpm
uses: pnpm/action-setup@v4 uses: pnpm/action-setup@v5
with: with:
version: 10 version: 10
- name: Setup Node.js - name: Setup Node.js
@@ -365,7 +365,7 @@ jobs:
- name: Install Arm64 Toolchain - name: Install Arm64 Toolchain
run: ./gradlew installArm64Toolchain run: ./gradlew installArm64Toolchain
if: ${{ (matrix.artifact-name) == 'LinuxArm64' }} if: ${{ (matrix.artifact-name) == 'LinuxArm64' }}
- uses: actions/download-artifact@v7 - uses: actions/download-artifact@v8
with: with:
name: built-docs name: built-docs
path: photon-server/src/main/resources/web/docs path: photon-server/src/main/resources/web/docs
@@ -373,11 +373,11 @@ jobs:
if: ${{ (matrix.arch-override != 'none') }} if: ${{ (matrix.arch-override != 'none') }}
- run: ./gradlew photon-server:shadowJar - run: ./gradlew photon-server:shadowJar
if: ${{ (matrix.arch-override == 'none') }} if: ${{ (matrix.arch-override == 'none') }}
- uses: actions/upload-artifact@v6 - uses: actions/upload-artifact@v7
with: with:
name: jar-${{ matrix.artifact-name }} archive: false
path: photon-server/build/libs path: photon-server/build/libs
- uses: actions/upload-artifact@v6 - uses: actions/upload-artifact@v7
with: with:
name: photon-targeting_jar-${{ matrix.artifact-name }} name: photon-targeting_jar-${{ matrix.artifact-name }}
path: photon-targeting/build/libs path: photon-targeting/build/libs
@@ -425,12 +425,13 @@ jobs:
matrix: matrix:
include: include:
- os: ubuntu-24.04 - os: ubuntu-24.04
artifact-name: jar-Linux artifact-name: photonvision-*-linuxx64.jar
extraOpts: -Djdk.lang.Process.launchMechanism=vfork extraOpts: -Djdk.lang.Process.launchMechanism=vfork
- os: windows-latest - os: windows-latest
artifact-name: jar-Win64 artifact-name: photonvision-*-winx64.jar
- os: macos-latest - os: macos-latest
artifact-name: jar-macOS artifact-name: photonvision-*-macarm64.jar
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
@@ -440,9 +441,9 @@ jobs:
with: with:
java-version: 17 java-version: 17
distribution: temurin distribution: temurin
- uses: actions/download-artifact@v7 - uses: actions/download-artifact@v8
with: with:
name: ${{ matrix.artifact-name }} pattern: ${{ matrix.artifact-name }}
# The jar is run twice to exercise different code paths. # The jar is run twice to exercise different code paths.
- run: | - run: |
echo "=== First run ===" echo "=== First run ==="
@@ -479,85 +480,71 @@ jobs:
matrix: matrix:
include: include:
- os: ubuntu-24.04-arm - os: ubuntu-24.04-arm
artifact-name: LinuxArm64
image_suffix: RaspberryPi image_suffix: RaspberryPi
plat_override: LINUX_RASPBIAN64 plat_override: LINUX_RASPBIAN64
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_raspi.img.xz image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_raspi.img.xz
minimum_free_mb: 100 minimum_free_mb: 100
- os: ubuntu-24.04-arm - os: ubuntu-24.04-arm
artifact-name: LinuxArm64
image_suffix: limelight2 image_suffix: limelight2
plat_override: LINUX_RASPBIAN64 plat_override: LINUX_RASPBIAN64
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_limelight.img.xz image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_limelight.img.xz
minimum_free_mb: 100 minimum_free_mb: 100
- os: ubuntu-24.04-arm - os: ubuntu-24.04-arm
artifact-name: LinuxArm64
image_suffix: limelight3 image_suffix: limelight3
plat_override: LINUX_RASPBIAN64 plat_override: LINUX_RASPBIAN64
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_limelight3.img.xz image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_limelight3.img.xz
minimum_free_mb: 100 minimum_free_mb: 100
- os: ubuntu-24.04-arm - os: ubuntu-24.04-arm
artifact-name: LinuxArm64
image_suffix: limelight3G image_suffix: limelight3G
plat_override: LINUX_RASPBIAN64 plat_override: LINUX_RASPBIAN64
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_limelight3g.img.xz image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_limelight3g.img.xz
minimum_free_mb: 100 minimum_free_mb: 100
- os: ubuntu-24.04-arm - os: ubuntu-24.04-arm
artifact-name: LinuxArm64
image_suffix: limelight4 image_suffix: limelight4
plat_override: LINUX_RASPBIAN64 plat_override: LINUX_RASPBIAN64
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_limelight4.img.xz image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_limelight4.img.xz
minimum_free_mb: 100 minimum_free_mb: 100
- os: ubuntu-24.04-arm - os: ubuntu-24.04-arm
artifact-name: LinuxArm64
image_suffix: luma_p1 image_suffix: luma_p1
plat_override: LINUX_RASPBIAN64 plat_override: LINUX_RASPBIAN64
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_luma_p1.img.xz image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_luma_p1.img.xz
minimum_free_mb: 100 minimum_free_mb: 100
- os: ubuntu-24.04-arm - os: ubuntu-24.04-arm
artifact-name: LinuxArm64
image_suffix: orangepi5 image_suffix: orangepi5
plat_override: LINUX_RK3588_64 plat_override: LINUX_RK3588_64
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_opi5.img.xz image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_opi5.img.xz
minimum_free_mb: 1024 minimum_free_mb: 1024
- os: ubuntu-24.04-arm - os: ubuntu-24.04-arm
artifact-name: LinuxArm64
image_suffix: orangepi5b image_suffix: orangepi5b
plat_override: LINUX_RK3588_64 plat_override: LINUX_RK3588_64
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_opi5b.img.xz image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_opi5b.img.xz
minimum_free_mb: 1024 minimum_free_mb: 1024
- os: ubuntu-24.04-arm - os: ubuntu-24.04-arm
artifact-name: LinuxArm64
image_suffix: orangepi5plus image_suffix: orangepi5plus
plat_override: LINUX_RK3588_64 plat_override: LINUX_RK3588_64
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_opi5plus.img.xz image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_opi5plus.img.xz
minimum_free_mb: 1024 minimum_free_mb: 1024
- os: ubuntu-24.04-arm - os: ubuntu-24.04-arm
artifact-name: LinuxArm64
image_suffix: orangepi5pro image_suffix: orangepi5pro
plat_override: LINUX_RK3588_64 plat_override: LINUX_RK3588_64
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_opi5pro.img.xz image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_opi5pro.img.xz
minimum_free_mb: 1024 minimum_free_mb: 1024
- os: ubuntu-24.04-arm - os: ubuntu-24.04-arm
artifact-name: LinuxArm64
image_suffix: orangepi5max image_suffix: orangepi5max
plat_override: LINUX_RK3588_64 plat_override: LINUX_RK3588_64
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_opi5max.img.xz image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_opi5max.img.xz
minimum_free_mb: 1024 minimum_free_mb: 1024
- os: ubuntu-24.04-arm - os: ubuntu-24.04-arm
artifact-name: LinuxArm64
image_suffix: rock5c image_suffix: rock5c
plat_override: LINUX_RK3588_64 plat_override: LINUX_RK3588_64
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_rock5c.img.xz image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_rock5c.img.xz
minimum_free_mb: 1024 minimum_free_mb: 1024
- os: ubuntu-24.04-arm - os: ubuntu-24.04-arm
artifact-name: LinuxArm64
image_suffix: orangepi6plus image_suffix: orangepi6plus
plat_override: LINUX_AARCH64 plat_override: LINUX_AARCH64
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_opi6plus.img.xz image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_opi6plus.img.xz
minimum_free_mb: 1024 minimum_free_mb: 1024
- os: ubuntu-24.04-arm - os: ubuntu-24.04-arm
artifact-name: LinuxArm64
image_suffix: rubikpi3 image_suffix: rubikpi3
plat_override: LINUX_QCS6490 plat_override: LINUX_QCS6490
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_rubikpi3.tar.xz image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_rubikpi3.tar.xz
@@ -573,9 +560,9 @@ jobs:
uses: actions/checkout@v6 uses: actions/checkout@v6
with: with:
fetch-depth: 0 fetch-depth: 0
- uses: actions/download-artifact@v7 - uses: actions/download-artifact@v8
with: with:
name: jar-${{ matrix.artifact-name }} pattern: photonvision-*-linuxarm64.jar
- uses: photonvision/photon-image-runner@HEAD - uses: photonvision/photon-image-runner@HEAD
name: Generate image name: Generate image
id: generate_image id: generate_image
@@ -611,10 +598,9 @@ jobs:
# Point smoketest to the old image # Point smoketest to the old image
echo "smoketest_image_loc=${{ steps.generate_image.outputs.image }}" >> $GITHUB_ENV echo "smoketest_image_loc=${{ steps.generate_image.outputs.image }}" >> $GITHUB_ENV
- uses: actions/upload-artifact@v6 - uses: actions/upload-artifact@v7
name: Upload image
with: with:
name: image-${{ matrix.image_suffix }} archive: false
path: photonvision*.xz path: photonvision*.xz
# This is done after uploading the image to avoid contaminating the image with logs, caches, etc. # This is done after uploading the image to avoid contaminating the image with logs, caches, etc.
@@ -643,25 +629,24 @@ jobs:
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04
steps: steps:
# Download all fat JARs # Download all fat JARs
- uses: actions/download-artifact@v7 - uses: actions/download-artifact@v8
with: with:
merge-multiple: true merge-multiple: true
pattern: jar-* pattern: photonvision-*.jar
# Download offline photonlib # Download offline photonlib
- uses: actions/download-artifact@v7 - uses: actions/download-artifact@v8
with: with:
merge-multiple: true merge-multiple: true
pattern: photonlib-offline pattern: photonlib-offline
# Download vendor json # Download vendor json
- uses: actions/download-artifact@v7 - uses: actions/download-artifact@v8
with: with:
merge-multiple: true pattern: photonlib-*.json
pattern: photonlib-vendor-json
# Download all images # Download all images
- uses: actions/download-artifact@v7 - uses: actions/download-artifact@v8
with: with:
merge-multiple: true merge-multiple: true
pattern: image-* pattern: photonvision-*.xz
- run: find - run: find
# Push to dev release # Push to dev release

View File

@@ -46,9 +46,9 @@ jobs:
- name: Generate diff - name: Generate diff
run: git diff HEAD > wpiformat-fixes.patch run: git diff HEAD > wpiformat-fixes.patch
if: ${{ failure() }} if: ${{ failure() }}
- uses: actions/upload-artifact@v6 - uses: actions/upload-artifact@v7
with: with:
name: wpiformat fixes archive: false
path: wpiformat-fixes.patch path: wpiformat-fixes.patch
if: ${{ failure() }} if: ${{ failure() }}
javaformat: javaformat:
@@ -81,7 +81,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v6
- name: Install pnpm - name: Install pnpm
uses: pnpm/action-setup@v4 uses: pnpm/action-setup@v5
with: with:
version: 10 version: 10
- name: Setup Node.js - name: Setup Node.js

View File

@@ -31,7 +31,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v6
- name: Install pnpm - name: Install pnpm
uses: pnpm/action-setup@v4 uses: pnpm/action-setup@v5
with: with:
version: 10 version: 10
- name: Setup Node.js - name: Setup Node.js
@@ -44,7 +44,7 @@ jobs:
run: pnpm i --frozen-lockfile run: pnpm i --frozen-lockfile
- name: Build Production Client - name: Build Production Client
run: pnpm run build-demo run: pnpm run build-demo
- uses: actions/upload-artifact@v6 - uses: actions/upload-artifact@v7
with: with:
name: built-demo name: built-demo
path: photon-client/dist/ path: photon-client/dist/
@@ -69,7 +69,7 @@ jobs:
run: | run: |
chmod +x gradlew chmod +x gradlew
./gradlew photon-docs:generateJavaDocs photon-docs:doxygen ./gradlew photon-docs:generateJavaDocs photon-docs:doxygen
- uses: actions/upload-artifact@v6 - uses: actions/upload-artifact@v7
with: with:
name: docs-java-cpp name: docs-java-cpp
path: photon-docs/build/docs path: photon-docs/build/docs
@@ -80,7 +80,7 @@ jobs:
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04
steps: steps:
# Download docs artifact # Download docs artifact
- uses: actions/download-artifact@v7 - uses: actions/download-artifact@v8
with: with:
pattern: docs-* pattern: docs-*
- run: find . - run: find .
@@ -106,7 +106,7 @@ jobs:
needs: [build_demo] needs: [build_demo]
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04
steps: steps:
- uses: actions/download-artifact@v7 - uses: actions/download-artifact@v8
with: with:
name: built-demo name: built-demo
- run: find . - run: find .

View File

@@ -36,7 +36,7 @@ jobs:
run: python setup.py sdist bdist_wheel run: python setup.py sdist bdist_wheel
- name: Upload artifacts - name: Upload artifacts
uses: actions/upload-artifact@v6 uses: actions/upload-artifact@v7
with: with:
name: dist name: dist
path: ./photon-lib/py/dist/ path: ./photon-lib/py/dist/
@@ -62,7 +62,7 @@ jobs:
pip install pytest mypy pip install pytest mypy
- name: Download artifacts - name: Download artifacts
uses: actions/download-artifact@v6 uses: actions/download-artifact@v8
with: with:
name: dist name: dist
path: dist/ path: dist/
@@ -102,7 +102,7 @@ jobs:
python -m pip install --upgrade pip python -m pip install --upgrade pip
- name: Download artifacts - name: Download artifacts
uses: actions/download-artifact@v6 uses: actions/download-artifact@v8
with: with:
name: dist name: dist
path: ./photon-lib/py/dist/ path: ./photon-lib/py/dist/
@@ -131,7 +131,7 @@ jobs:
steps: steps:
- name: Download artifacts - name: Download artifacts
uses: actions/download-artifact@v6 uses: actions/download-artifact@v8
with: with:
name: dist name: dist
path: dist/ path: dist/

View File

@@ -11,7 +11,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v6
- name: Install pnpm - name: Install pnpm
uses: pnpm/action-setup@v4 uses: pnpm/action-setup@v5
with: with:
version: 10 version: 10
- name: Setup Node - name: Setup Node
@@ -41,7 +41,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v6
- name: Install pnpm - name: Install pnpm
uses: pnpm/action-setup@v4 uses: pnpm/action-setup@v5
with: with:
version: 10 version: 10
- name: Setup Node - name: Setup Node