From 8885f7cd12ffedd3cfc22c65623889b155f2c94e Mon Sep 17 00:00:00 2001 From: devops-engineer Date: Thu, 7 May 2026 16:54:44 -0700 Subject: [PATCH] fix(ci): pin actions/upload-artifact + download-artifact to @v3 for Gitea compatibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit actions/upload-artifact@v4+ and download-artifact@v4+ use the GHES 3.10+ artifact protocol that Gitea Actions (act_runner v0.6 / Gitea 1.22.x) does NOT implement. Failure cite from PR #54 run 1325 jobs/2: ::error::@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES. Pinned all 3 references to v3.2.2 (latest v3) at SHA-pinned form for supply-chain hygiene, matching the existing `uses:` style in this repo. Affected workflows: - ci.yml (Canvas Next.js coverage upload, blocks `CI / Canvas (Next.js)` required check on every PR — was the merge-queue blocker for #53, #54, #69, #71, #76, #81) - e2e-staging-canvas.yml (Playwright report + screenshots on failure) No download-artifact callers in the repo, so v3-pin doesn't compose-break anywhere. Drop these pins post-Gitea-1.23+ when the v4 artifact protocol ships, or migrate to a Gitea-native action. Closes #210. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/ci.yml | 8 +++++++- .github/workflows/e2e-staging-canvas.yml | 9 +++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6b447291..9350f114 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -235,7 +235,13 @@ jobs: run: npx vitest run --coverage - name: Upload coverage summary as artifact if: needs.changes.outputs.canvas == 'true' && always() - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + # Pinned to v3 for Gitea act_runner v0.6 compatibility — v4+ uses + # the GHES 3.10+ artifact protocol that Gitea 1.22.x does NOT + # implement, surfacing as `GHESNotSupportedError: @actions/artifact + # v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not + # currently supported on GHES`. Drop this pin when Gitea ships + # the v4 protocol (tracked: post-Gitea-1.23 followup). + uses: actions/upload-artifact@c6a366c94c3e0affe28c06c8df20a878f24da3cf # v3.2.2 with: name: canvas-coverage-${{ github.run_id }} path: canvas/coverage/ diff --git a/.github/workflows/e2e-staging-canvas.yml b/.github/workflows/e2e-staging-canvas.yml index 0bc152df..30a38e5f 100644 --- a/.github/workflows/e2e-staging-canvas.yml +++ b/.github/workflows/e2e-staging-canvas.yml @@ -139,7 +139,11 @@ jobs: - name: Upload Playwright report on failure if: failure() && needs.detect-changes.outputs.canvas == 'true' - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + # Pinned to v3 for Gitea act_runner v0.6 compatibility — v4+ uses + # the GHES 3.10+ artifact protocol that Gitea 1.22.x does NOT + # implement (see ci.yml upload step for the canonical error + # cite). Drop this pin when Gitea ships the v4 protocol. + uses: actions/upload-artifact@c6a366c94c3e0affe28c06c8df20a878f24da3cf # v3.2.2 with: name: playwright-report-staging path: canvas/playwright-report-staging/ @@ -147,7 +151,8 @@ jobs: - name: Upload screenshots on failure if: failure() && needs.detect-changes.outputs.canvas == 'true' - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + # Pinned to v3 for Gitea act_runner v0.6 compatibility (see above). + uses: actions/upload-artifact@c6a366c94c3e0affe28c06c8df20a878f24da3cf # v3.2.2 with: name: playwright-screenshots path: canvas/test-results/