diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fecd1595d5..80c51e342e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -110,7 +110,7 @@ jobs: java-version: 17 distribution: temurin - name: Install pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@v5 with: version: 10 - name: Setup Node.js @@ -127,10 +127,10 @@ jobs: - name: Run Playwright tests working-directory: photon-client run: pnpm test - - uses: actions/upload-artifact@v6 + - uses: actions/upload-artifact@v7 if: ${{ !cancelled() }} with: - name: playwright-report + archive: false path: photon-client/playwright-report/ retention-days: 30 build-gradle: @@ -151,7 +151,7 @@ jobs: java-version: 17 distribution: temurin - name: Install pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@v5 with: version: 10 - name: Setup Node.js @@ -184,7 +184,7 @@ jobs: working-directory: docs run: | make html - - uses: actions/upload-artifact@v6 + - uses: actions/upload-artifact@v7 with: name: built-docs 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 # Upload it here so it shows up in releases - - uses: actions/upload-artifact@v6 + - uses: actions/upload-artifact@v7 with: - name: photonlib-vendor-json + archive: false path: photon-lib/build/generated/vendordeps/photonlib-*.json build-photonlib-host: @@ -255,7 +255,7 @@ jobs: if: github.event_name == 'push' && github.repository_owner == 'photonvision' && github.ref == 'refs/heads/main' # Copy artifacts to build/outputs/maven - run: ./gradlew photon-lib:publish photon-targeting:publish -PcopyOfflineArtifacts - - uses: actions/upload-artifact@v6 + - uses: actions/upload-artifact@v7 with: name: maven-${{ matrix.artifact-name }} path: build/outputs @@ -296,7 +296,7 @@ jobs: if: github.event_name == 'push' && github.repository_owner == 'photonvision' && github.ref == 'refs/heads/main' # Copy artifacts to build/outputs/maven - run: ./gradlew photon-lib:publish photon-targeting:publish -PcopyOfflineArtifacts ${{ matrix.build-options }} - - uses: actions/upload-artifact@v6 + - uses: actions/upload-artifact@v7 with: name: maven-${{ matrix.artifact-name }} path: build/outputs @@ -311,7 +311,7 @@ jobs: fetch-depth: 0 - run: git fetch --tags --force # download all maven-* artifacts to outputs/ - - uses: actions/download-artifact@v7 + - uses: actions/download-artifact@v8 with: merge-multiple: true path: output @@ -321,7 +321,7 @@ jobs: name: ZIP stuff up working-directory: output - run: ls output - - uses: actions/upload-artifact@v6 + - uses: actions/upload-artifact@v7 with: name: photonlib-offline path: output/*.zip @@ -353,7 +353,7 @@ jobs: java-version: 17 distribution: temurin - name: Install pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@v5 with: version: 10 - name: Setup Node.js @@ -365,7 +365,7 @@ jobs: - name: Install Arm64 Toolchain run: ./gradlew installArm64Toolchain if: ${{ (matrix.artifact-name) == 'LinuxArm64' }} - - uses: actions/download-artifact@v7 + - uses: actions/download-artifact@v8 with: name: built-docs path: photon-server/src/main/resources/web/docs @@ -373,11 +373,11 @@ jobs: if: ${{ (matrix.arch-override != 'none') }} - run: ./gradlew photon-server:shadowJar if: ${{ (matrix.arch-override == 'none') }} - - uses: actions/upload-artifact@v6 + - uses: actions/upload-artifact@v7 with: - name: jar-${{ matrix.artifact-name }} + archive: false path: photon-server/build/libs - - uses: actions/upload-artifact@v6 + - uses: actions/upload-artifact@v7 with: name: photon-targeting_jar-${{ matrix.artifact-name }} path: photon-targeting/build/libs @@ -425,12 +425,13 @@ jobs: matrix: include: - os: ubuntu-24.04 - artifact-name: jar-Linux + artifact-name: photonvision-*-linuxx64.jar extraOpts: -Djdk.lang.Process.launchMechanism=vfork - os: windows-latest - artifact-name: jar-Win64 + artifact-name: photonvision-*-winx64.jar - os: macos-latest - artifact-name: jar-macOS + artifact-name: photonvision-*-macarm64.jar + runs-on: ${{ matrix.os }} @@ -440,9 +441,9 @@ jobs: with: java-version: 17 distribution: temurin - - uses: actions/download-artifact@v7 + - uses: actions/download-artifact@v8 with: - name: ${{ matrix.artifact-name }} + pattern: ${{ matrix.artifact-name }} # The jar is run twice to exercise different code paths. - run: | echo "=== First run ===" @@ -479,85 +480,71 @@ jobs: matrix: include: - os: ubuntu-24.04-arm - artifact-name: LinuxArm64 image_suffix: RaspberryPi plat_override: LINUX_RASPBIAN64 image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_raspi.img.xz minimum_free_mb: 100 - os: ubuntu-24.04-arm - artifact-name: LinuxArm64 image_suffix: limelight2 plat_override: LINUX_RASPBIAN64 image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_limelight.img.xz minimum_free_mb: 100 - os: ubuntu-24.04-arm - artifact-name: LinuxArm64 image_suffix: limelight3 plat_override: LINUX_RASPBIAN64 image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_limelight3.img.xz minimum_free_mb: 100 - os: ubuntu-24.04-arm - artifact-name: LinuxArm64 image_suffix: limelight3G plat_override: LINUX_RASPBIAN64 image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_limelight3g.img.xz minimum_free_mb: 100 - os: ubuntu-24.04-arm - artifact-name: LinuxArm64 image_suffix: limelight4 plat_override: LINUX_RASPBIAN64 image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_limelight4.img.xz minimum_free_mb: 100 - os: ubuntu-24.04-arm - artifact-name: LinuxArm64 image_suffix: luma_p1 plat_override: LINUX_RASPBIAN64 image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_luma_p1.img.xz minimum_free_mb: 100 - os: ubuntu-24.04-arm - artifact-name: LinuxArm64 image_suffix: orangepi5 plat_override: LINUX_RK3588_64 image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_opi5.img.xz minimum_free_mb: 1024 - os: ubuntu-24.04-arm - artifact-name: LinuxArm64 image_suffix: orangepi5b plat_override: LINUX_RK3588_64 image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_opi5b.img.xz minimum_free_mb: 1024 - os: ubuntu-24.04-arm - artifact-name: LinuxArm64 image_suffix: orangepi5plus plat_override: LINUX_RK3588_64 image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_opi5plus.img.xz minimum_free_mb: 1024 - os: ubuntu-24.04-arm - artifact-name: LinuxArm64 image_suffix: orangepi5pro plat_override: LINUX_RK3588_64 image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_opi5pro.img.xz minimum_free_mb: 1024 - os: ubuntu-24.04-arm - artifact-name: LinuxArm64 image_suffix: orangepi5max plat_override: LINUX_RK3588_64 image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_opi5max.img.xz minimum_free_mb: 1024 - os: ubuntu-24.04-arm - artifact-name: LinuxArm64 image_suffix: rock5c plat_override: LINUX_RK3588_64 image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_rock5c.img.xz minimum_free_mb: 1024 - os: ubuntu-24.04-arm - artifact-name: LinuxArm64 image_suffix: orangepi6plus plat_override: LINUX_AARCH64 image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/$IMAGE_VERSION/photonvision_opi6plus.img.xz minimum_free_mb: 1024 - os: ubuntu-24.04-arm - artifact-name: LinuxArm64 image_suffix: rubikpi3 plat_override: LINUX_QCS6490 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 with: fetch-depth: 0 - - uses: actions/download-artifact@v7 + - uses: actions/download-artifact@v8 with: - name: jar-${{ matrix.artifact-name }} + pattern: photonvision-*-linuxarm64.jar - uses: photonvision/photon-image-runner@HEAD name: Generate image id: generate_image @@ -611,10 +598,9 @@ jobs: # Point smoketest to the old image echo "smoketest_image_loc=${{ steps.generate_image.outputs.image }}" >> $GITHUB_ENV - - uses: actions/upload-artifact@v6 - name: Upload image + - uses: actions/upload-artifact@v7 with: - name: image-${{ matrix.image_suffix }} + archive: false path: photonvision*.xz # 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 steps: # Download all fat JARs - - uses: actions/download-artifact@v7 + - uses: actions/download-artifact@v8 with: merge-multiple: true - pattern: jar-* + pattern: photonvision-*.jar # Download offline photonlib - - uses: actions/download-artifact@v7 + - uses: actions/download-artifact@v8 with: merge-multiple: true pattern: photonlib-offline # Download vendor json - - uses: actions/download-artifact@v7 + - uses: actions/download-artifact@v8 with: - merge-multiple: true - pattern: photonlib-vendor-json + pattern: photonlib-*.json # Download all images - - uses: actions/download-artifact@v7 + - uses: actions/download-artifact@v8 with: merge-multiple: true - pattern: image-* + pattern: photonvision-*.xz - run: find # Push to dev release diff --git a/.github/workflows/lint-format.yml b/.github/workflows/lint-format.yml index db06c009fc..7477309a5a 100644 --- a/.github/workflows/lint-format.yml +++ b/.github/workflows/lint-format.yml @@ -46,9 +46,9 @@ jobs: - name: Generate diff run: git diff HEAD > wpiformat-fixes.patch if: ${{ failure() }} - - uses: actions/upload-artifact@v6 + - uses: actions/upload-artifact@v7 with: - name: wpiformat fixes + archive: false path: wpiformat-fixes.patch if: ${{ failure() }} javaformat: @@ -81,7 +81,7 @@ jobs: steps: - uses: actions/checkout@v6 - name: Install pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@v5 with: version: 10 - name: Setup Node.js diff --git a/.github/workflows/photon-api-docs.yml b/.github/workflows/photon-api-docs.yml index 9a98af8694..071fd354a4 100644 --- a/.github/workflows/photon-api-docs.yml +++ b/.github/workflows/photon-api-docs.yml @@ -31,7 +31,7 @@ jobs: steps: - uses: actions/checkout@v6 - name: Install pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@v5 with: version: 10 - name: Setup Node.js @@ -44,7 +44,7 @@ jobs: run: pnpm i --frozen-lockfile - name: Build Production Client run: pnpm run build-demo - - uses: actions/upload-artifact@v6 + - uses: actions/upload-artifact@v7 with: name: built-demo path: photon-client/dist/ @@ -69,7 +69,7 @@ jobs: run: | chmod +x gradlew ./gradlew photon-docs:generateJavaDocs photon-docs:doxygen - - uses: actions/upload-artifact@v6 + - uses: actions/upload-artifact@v7 with: name: docs-java-cpp path: photon-docs/build/docs @@ -80,7 +80,7 @@ jobs: runs-on: ubuntu-24.04 steps: # Download docs artifact - - uses: actions/download-artifact@v7 + - uses: actions/download-artifact@v8 with: pattern: docs-* - run: find . @@ -106,7 +106,7 @@ jobs: needs: [build_demo] runs-on: ubuntu-24.04 steps: - - uses: actions/download-artifact@v7 + - uses: actions/download-artifact@v8 with: name: built-demo - run: find . diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index cc45cee79b..4aa136791f 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -36,7 +36,7 @@ jobs: run: python setup.py sdist bdist_wheel - name: Upload artifacts - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: dist path: ./photon-lib/py/dist/ @@ -62,7 +62,7 @@ jobs: pip install pytest mypy - name: Download artifacts - uses: actions/download-artifact@v6 + uses: actions/download-artifact@v8 with: name: dist path: dist/ @@ -102,7 +102,7 @@ jobs: python -m pip install --upgrade pip - name: Download artifacts - uses: actions/download-artifact@v6 + uses: actions/download-artifact@v8 with: name: dist path: ./photon-lib/py/dist/ @@ -131,7 +131,7 @@ jobs: steps: - name: Download artifacts - uses: actions/download-artifact@v6 + uses: actions/download-artifact@v8 with: name: dist path: dist/ diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index e91edab796..7d607e9fef 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -11,7 +11,7 @@ jobs: steps: - uses: actions/checkout@v6 - name: Install pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@v5 with: version: 10 - name: Setup Node @@ -41,7 +41,7 @@ jobs: steps: - uses: actions/checkout@v6 - name: Install pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@v5 with: version: 10 - name: Setup Node