From aad0f447c02cbb31b9fbd71449a7c996e483aef0 Mon Sep 17 00:00:00 2001 From: Syngnat Date: Mon, 8 Jun 2026 06:54:00 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(ci):=20=E4=B8=BA=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E4=BA=A7=E7=89=A9=E4=B8=8B=E8=BD=BD=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E9=87=8D=E8=AF=95=E4=BF=9D=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 为 build 阶段的 frontend-dist 下载增加失败清理和一次自动重试 - 将前端产物固定下载到 frontend-artifact 目录并在解压前校验 tar 文件存在 - 同步加固 dev 与 release 工作流,降低单个 runner 下载抖动导致的误报失败 --- .github/workflows/dev-build.yml | 19 +++++++++++++++++-- .github/workflows/release.yml | 19 +++++++++++++++++-- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/.github/workflows/dev-build.yml b/.github/workflows/dev-build.yml index 053aef5..65d3150 100644 --- a/.github/workflows/dev-build.yml +++ b/.github/workflows/dev-build.yml @@ -281,17 +281,32 @@ jobs: go-version-file: 'go.mod' - name: Download frontend dist + id: download_frontend_dist + continue-on-error: true uses: actions/download-artifact@v7 with: name: frontend-dist - path: . + path: frontend-artifact + + - name: Reset failed frontend dist download + if: steps.download_frontend_dist.outcome != 'success' + shell: bash + run: rm -rf frontend-artifact + + - name: Retry frontend dist download + if: steps.download_frontend_dist.outcome != 'success' + uses: actions/download-artifact@v7 + with: + name: frontend-dist + path: frontend-artifact - name: Extract frontend dist shell: bash run: | set -euo pipefail mkdir -p frontend/dist - tar -xf frontend-dist.tar -C frontend/dist + test -s frontend-artifact/frontend-dist.tar + tar -xf frontend-artifact/frontend-dist.tar -C frontend/dist test -s frontend/dist/index.html - name: Install UPX (Windows) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c765c2e..7a621fb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -286,17 +286,32 @@ jobs: go-version-file: 'go.mod' - name: Download frontend dist + id: download_frontend_dist + continue-on-error: true uses: actions/download-artifact@v7 with: name: frontend-dist - path: . + path: frontend-artifact + + - name: Reset failed frontend dist download + if: steps.download_frontend_dist.outcome != 'success' + shell: bash + run: rm -rf frontend-artifact + + - name: Retry frontend dist download + if: steps.download_frontend_dist.outcome != 'success' + uses: actions/download-artifact@v7 + with: + name: frontend-dist + path: frontend-artifact - name: Extract frontend dist shell: bash run: | set -euo pipefail mkdir -p frontend/dist - tar -xf frontend-dist.tar -C frontend/dist + test -s frontend-artifact/frontend-dist.tar + tar -xf frontend-artifact/frontend-dist.tar -C frontend/dist test -s frontend/dist/index.html - name: Install UPX (Windows)