From 7b894f096f317d96d9132ffa5b69edcfb1a38b79 Mon Sep 17 00:00:00 2001 From: Daniel Maksymilian Syrnicki Date: Sat, 18 Apr 2026 12:20:58 +0200 Subject: [PATCH] fix(ci): inline smoke-vm as a step instead of a downstream job MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The separate smoke-vm job with `needs: build-iso` required round-tripping the 1.5 GB ISO through actions/upload-artifact + download-artifact. v3 on Forgejo has a known issue where large artifacts stall at 0.0% in the download step — the smoke run hung today with endless "Total file count: 1 ---- Processed file #0 (0.0%)" output. Since both jobs run on the same self-hosted runner (host mode, same workspace available), there was never a real need for the artifact indirection. Inlining as a step after the artifact upload reuses the ISO already in iso/out/ and skips the download entirely. step-level continue-on-error preserves the original guarantee that a VM-side flake doesn't mark the ISO build red. Co-Authored-By: Claude Opus 4.7 (1M context) --- .forgejo/workflows/build-iso.yml | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/.forgejo/workflows/build-iso.yml b/.forgejo/workflows/build-iso.yml index 46b0704..7e825fc 100644 --- a/.forgejo/workflows/build-iso.yml +++ b/.forgejo/workflows/build-iso.yml @@ -51,28 +51,13 @@ jobs: retention-days: 14 if-no-files-found: error - smoke-vm: - # Boot the freshly built ISO in a VM on the .165 Proxmox test host and - # check the webinstaller responds on :5000. Shares the runner workspace - # with build-iso via `needs:` so we skip the artifact round-trip. - # `continue-on-error: true` so a VM-side flake doesn't mark the ISO - # build red — the ISO itself is still valid and uploaded. - needs: build-iso - runs-on: self-hosted - continue-on-error: true - timeout-minutes: 10 - steps: - - uses: actions/checkout@v4 - - - name: Re-download ISO into iso/out - # `needs:` doesn't preserve the workspace across jobs on Forgejo - # host-mode runners, so pull the artifact we just uploaded. - uses: actions/download-artifact@v3 - with: - name: furtka-iso - path: iso/out - - name: Smoke-test ISO on Proxmox test host + # Inlined as a step (rather than a separate job with `needs:`) so + # we can reuse the ISO that's already in the workspace — Forgejo's + # actions/download-artifact@v3 hangs on 1.5 GB files. + # step-level continue-on-error: a VM-side flake doesn't mark the + # ISO build red, the ISO itself is still valid and uploaded. + continue-on-error: true env: PVE_TEST_HOST: ${{ secrets.PVE_TEST_HOST }} PVE_TEST_TOKEN: ${{ secrets.PVE_TEST_TOKEN }}