From dc7b490b4c96c07ffc1105a27e4993b1d5dc7adc Mon Sep 17 00:00:00 2001 From: Wang Defa Date: Tue, 2 Dec 2025 13:14:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/ci.yaml | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index f3798b8..2cf1c45 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -25,24 +25,36 @@ jobs: run: | # 尝试设置 QEMU,但忽略错误(宿主机可能已配置) docker run --rm --privileged multiarch/qemu-user-static --reset -p yes 2>/dev/null || true - + # 验证 binfmt 是否可用 if [ -d /proc/sys/fs/binfmt_misc ]; then echo "✅ binfmt_misc 可用" ls /proc/sys/fs/binfmt_misc/ | grep -E "qemu-(aarch64|arm)" || echo "⚠️ 部分架构可能未注册" fi - - # 创建 buildx builder - docker buildx create --use --name multiarch-builder --driver docker-container --driver-opt network=host || true + + # 创建 buildx builder,增加资源限制和优化参数 + docker buildx create --use --name multiarch-builder \ + --driver docker-container \ + --driver-opt network=host \ + --driver-opt env.BUILDKIT_STEP_LOG_MAX_SIZE=50000000 \ + --driver-opt env.BUILDKIT_STEP_LOG_MAX_SPEED=10000000 \ + --buildkitd-flags '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host' \ + || true docker buildx inspect --bootstrap - name: Build binaries run: | XMRIGCC_VERSION=${PACKAGE_VERSION%-*} + + # 设置 BuildKit 优化参数,限制并发和内存使用 + export BUILDKIT_PROGRESS=plain + docker buildx build --pull \ --platform linux/amd64,linux/arm64 \ --build-arg XMRIGCC_VERSION=${XMRIGCC_VERSION} \ --output type=local,dest=./output \ + --cache-from type=registry,ref=${{ gitea.server_url }}/${{ gitea.repository }}/buildcache:${{ matrix.distro }} \ + --cache-to type=registry,ref=${{ gitea.server_url }}/${{ gitea.repository }}/buildcache:${{ matrix.distro }},mode=max \ -f docker/Dockerfile.${{ matrix.distro }} . - name: Package and test @@ -84,11 +96,17 @@ jobs: run: | # 尝试设置 QEMU,忽略错误 docker run --rm --privileged multiarch/qemu-user-static --reset -p yes 2>/dev/null || true - - # 创建 buildx builder - docker buildx create --use --name multiarch-builder --driver docker-container --driver-opt network=host || true + + # 创建 buildx builder,增加资源限制和优化参数 + docker buildx create --use --name multiarch-builder \ + --driver docker-container \ + --driver-opt network=host \ + --driver-opt env.BUILDKIT_STEP_LOG_MAX_SIZE=50000000 \ + --driver-opt env.BUILDKIT_STEP_LOG_MAX_SPEED=10000000 \ + --buildkitd-flags '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host' \ + || true docker buildx inspect --bootstrap - + # 登录 echo "${{ secrets.BUILD_TOKEN }}" | docker login ${{ gitea.server_url }} -u ${{ gitea.actor }} --password-stdin