diff --git a/.github/workflows/agent-browser-install.yml b/.github/workflows/agent-browser-install.yml index bbc5b1baa3..00f0b5f732 100644 --- a/.github/workflows/agent-browser-install.yml +++ b/.github/workflows/agent-browser-install.yml @@ -53,7 +53,7 @@ jobs: node -e "require('node:fs').writeFileSync(process.argv[1], process.argv[2] + '\n')" "$pack_dir/agent-browser-version.txt" "$agent_browser_version" - name: Upload packed install fixture - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: agent-browser-install-pack path: | diff --git a/.github/workflows/desktop-windows.yml b/.github/workflows/desktop-windows.yml index 1b8d0934f9..4c11e029a1 100644 --- a/.github/workflows/desktop-windows.yml +++ b/.github/workflows/desktop-windows.yml @@ -215,7 +215,7 @@ jobs: # Automated publish is intentionally deferred to FN-5593. # Keep a single artifact; filenames include -x64 / -arm64 so both arches are captured. - name: Upload Windows artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: fusion-desktop-windows path: | diff --git a/.github/workflows/full-suite.yml b/.github/workflows/full-suite.yml index 59fdddf823..aa43aa07ff 100644 --- a/.github/workflows/full-suite.yml +++ b/.github/workflows/full-suite.yml @@ -126,7 +126,7 @@ jobs: # snapshot automatically — refresh is manual/scheduled only. - name: Upload per-shard test timings if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: test-timings-shard-${{ matrix.shard }} # Relative outputFile paths mean each package writes its own @@ -138,10 +138,11 @@ jobs: plugins/examples/*/.timings/timings-*.json if-no-files-found: ignore # FNXC:TestInfrastructure 2026-07-24-01:05: - # .timings/ is a dot-directory and upload-artifact@v4 excludes hidden + # .timings/ is a dot-directory and upload-artifact excludes hidden # files by default, so this step silently uploaded NOTHING since it was # added ("No files were found") and the timing snapshot could never be # refreshed from CI. Hidden files must be included for the glob to match. + # FNXC:CI 2026-07-28-01:35: pin is actions/upload-artifact@v7 (Dependabot #2444). include-hidden-files: true retention-days: 14 diff --git a/.github/workflows/mobile.yml b/.github/workflows/mobile.yml index 397856e800..c24ef05ad6 100644 --- a/.github/workflows/mobile.yml +++ b/.github/workflows/mobile.yml @@ -20,7 +20,7 @@ jobs: run: pnpm --filter @fusion/dashboard build - name: Upload dashboard dist artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: dashboard-dist-client path: packages/dashboard/dist/client @@ -93,7 +93,7 @@ jobs: - name: Upload iOS artifact if: steps.ios-check.outputs.exists == 'true' - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: fusion-ios-ipa path: ${{ runner.temp }}/ios-artifacts/fusion-ios.ipa @@ -156,7 +156,7 @@ jobs: - name: Upload Android artifact if: steps.android-check.outputs.exists == 'true' - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: fusion-android-apk path: packages/mobile/android/app/build/outputs/apk/debug/*.apk diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fc55914119..b6aa0fb6d1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -155,7 +155,7 @@ jobs: fi - name: Upload artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: ${{ matrix.binary }} path: | @@ -227,7 +227,7 @@ jobs: } - name: Upload desktop Windows artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: fusion-desktop-windows path: | @@ -331,7 +331,7 @@ jobs: done - name: Upload desktop macOS artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: fusion-desktop-macos path: | @@ -422,7 +422,7 @@ jobs: done - name: Upload desktop Linux artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: # Single glob set covers both linux-x64 and linux-arm64 artifact filenames. name: fusion-desktop-linux @@ -581,7 +581,7 @@ jobs: done - name: Upload Android artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: fusion-android-apk path: | diff --git a/.github/workflows/test-release.yml b/.github/workflows/test-release.yml index e791b2d117..a95ede8166 100644 --- a/.github/workflows/test-release.yml +++ b/.github/workflows/test-release.yml @@ -103,7 +103,7 @@ jobs: "$hash ${{ matrix.binary }}" | Out-File -Encoding ascii ${{ matrix.binary }}.sha256 - name: Upload artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: ${{ matrix.binary }} path: | @@ -162,7 +162,7 @@ jobs: } - name: Upload desktop Windows artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: fusion-desktop-windows path: | @@ -262,7 +262,7 @@ jobs: done - name: Upload desktop macOS artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: fusion-desktop-macos path: | @@ -347,7 +347,7 @@ jobs: done - name: Upload desktop Linux artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: # Single glob set covers both linux-x64 and linux-arm64 artifact filenames. name: fusion-desktop-linux @@ -504,7 +504,7 @@ jobs: done - name: Upload Android artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: fusion-android-apk path: | @@ -532,7 +532,7 @@ jobs: ls -la combined/ - name: Upload combined archive - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: all-binaries path: combined/* diff --git a/packages/cli/src/__tests__/ci-workflow.test.ts b/packages/cli/src/__tests__/ci-workflow.test.ts index c5e08ce562..43b4c0ac2a 100644 --- a/packages/cli/src/__tests__/ci-workflow.test.ts +++ b/packages/cli/src/__tests__/ci-workflow.test.ts @@ -858,7 +858,12 @@ describe("Cross-platform agent-browser install workflow", () => { expect(content).toContain("pnpm pack --pack-destination"); expect(content).toContain('dependencies["agent-browser"]'); expect(content).toContain("agent-browser-version.txt"); - expect(content).toContain("actions/upload-artifact@v4"); + /* + FNXC:CI 2026-07-28-01:35: + Dependabot PR #2444 bumps actions/upload-artifact 4→7 on the agent-browser install workflow. + Gate pin must track the workflow pin; download-artifact stays at v4 until a paired bump. + */ + expect(content).toContain("actions/upload-artifact@v7"); expect(content).toContain("actions/download-artifact@v4"); expect(content).toContain("Packed Fusion manifest lost the exact agent-browser pin"); expect(content).toContain("Packed Fusion manifest lost the agent-browser bin");