From 7e49a40057dcaaea87c654c13f7b46d57121e337 Mon Sep 17 00:00:00 2001 From: net909 Date: Mon, 13 Apr 2026 22:47:12 +0800 Subject: [PATCH] update workflows --- .github/docker/Dockerfile | 11 +++++++---- .github/workflows/docker-build.yml | 3 +++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/docker/Dockerfile b/.github/docker/Dockerfile index 1a7be30..f0b346c 100644 --- a/.github/docker/Dockerfile +++ b/.github/docker/Dockerfile @@ -52,13 +52,16 @@ COPY config/php.ini ${PHP_INI_DIR}/conf.d/custom.ini # Configure supervisord COPY config/supervisord.conf /etc/supervisor/conf.d/supervisord.conf +# CACHE_BUST 须写进每条相关 RUN,否则 GHA/BuildKit 可能单独命中 composer 相关层缓存,vendor 仍来自旧构建 +ARG CACHE_BUST=local + # Add application -RUN mkdir -p /usr/src && wget --no-cache https://github.com/netcccyun/dnsmgr/archive/refs/heads/main.zip -O /usr/src/www.zip && unzip /usr/src/www.zip -d /usr/src/ && mv /usr/src/dnsmgr-main /usr/src/www && rm -f /usr/src/www.zip +RUN mkdir -p /usr/src && echo "$CACHE_BUST" >/dev/null && wget --no-cache https://github.com/netcccyun/dnsmgr/archive/refs/heads/main.zip -O /usr/src/www.zip && unzip /usr/src/www.zip -d /usr/src/ && mv /usr/src/dnsmgr-main /usr/src/www && rm -f /usr/src/www.zip -# Install composer -RUN wget https://getcomposer.org/download/latest-stable/composer.phar -O /usr/local/bin/composer && chmod +x /usr/local/bin/composer +# Install composer(与下面 install 一并随 CACHE_BUST 失效) +RUN echo "$CACHE_BUST" >/dev/null && wget https://getcomposer.org/download/latest-stable/composer.phar -O /usr/local/bin/composer && chmod +x /usr/local/bin/composer -RUN composer install -d /usr/src/www --no-interaction --no-dev --optimize-autoloader +RUN echo "$CACHE_BUST" >/dev/null && composer install -d /usr/src/www --no-interaction --no-dev --optimize-autoloader --no-cache RUN adduser -D -s /sbin/nologin -g www www && chown -R www.www /usr/src/www /var/lib/nginx /var/log/nginx diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index 26e1cf7..9d36ab8 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -46,6 +46,9 @@ jobs: file: .github/docker/Dockerfile platforms: linux/amd64,linux/arm64 push: true + # 每次运行唯一,打破「下载源码 + composer」等层的缓存,否则会一直用首次构建时的层 + build-args: | + CACHE_BUST=${{ github.sha }}-${{ github.run_id }}-${{ github.run_attempt }} # 避免向仓库推送 attestations;部分镜像仓库(含部分 SWR 场景)无法解析导致 “fail to parse manifest.json” provenance: false sbom: false