From a8a79ef94e4b183f18628ba987535c81452aa4ed Mon Sep 17 00:00:00 2001 From: kira1928 Date: Wed, 11 Mar 2026 01:15:07 +0900 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=20docker=20image=20=E6=9E=84?= =?UTF-8?q?=E5=BB=BA=20job=20=E7=9A=84=E7=BC=93=E5=AD=98=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/release.yaml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 0a13da7..3b6c229 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -187,8 +187,20 @@ jobs: # 在原生环境中预下载内置工具(避免在 QEMU 下解压 xz 的巨大开销) # 版本号和下载 URL 自动从 src/tools/remote-tools-config.json 读取 + # 缓存策略:以 config hash + 架构作为 key,避免重复下载 + - name: Cache built-in tools + id: cache-tools + uses: actions/cache@v4 + with: + path: docker-tools-cache/${{ matrix.arch }} + key: docker-tools-${{ matrix.arch }}-${{ hashFiles('src/tools/remote-tools-config.json', 'scripts/docker-prepare-tools.mjs') }} - name: Pre-download built-in tools - run: node scripts/docker-prepare-tools.mjs "${{ matrix.arch }}" docker-context/tools + if: steps.cache-tools.outputs.cache-hit != 'true' + run: node scripts/docker-prepare-tools.mjs "${{ matrix.arch }}" docker-tools-cache/${{ matrix.arch }} + - name: Copy tools to docker-context + run: | + mkdir -p docker-context/tools + cp -r docker-tools-cache/${{ matrix.arch }}/* docker-context/tools/ 2>/dev/null || true # 仅 arm/v7 需要 QEMU(用于 apt-get 安装 ffmpeg 等) - name: Set up QEMU