From d81cdfe789d3193fe2a9af3c0ac5e1f744b5ee57 Mon Sep 17 00:00:00 2001 From: shanshanzhong Date: Fri, 26 Sep 2025 03:33:53 -0700 Subject: [PATCH] tg --- .gitea/workflows/docker.yml | 57 ++++++++++++++++++++++++++----------- 1 file changed, 41 insertions(+), 16 deletions(-) diff --git a/.gitea/workflows/docker.yml b/.gitea/workflows/docker.yml index 8439e6c..de00a3e 100644 --- a/.gitea/workflows/docker.yml +++ b/.gitea/workflows/docker.yml @@ -71,8 +71,19 @@ jobs: - name: Set up Docker Buildx run: | - docker buildx create --use --name builder --driver docker-container - docker buildx inspect --bootstrap + # Check if buildx is available + if docker buildx version >/dev/null 2>&1; then + echo "Docker Buildx is available" + # Create builder if it doesn't exist + if ! docker buildx ls | grep -q "builder"; then + docker buildx create --name builder --driver docker-container + fi + # Use the builder + docker buildx use builder + docker buildx inspect --bootstrap + else + echo "Docker Buildx not available, using regular docker build" + fi - name: Install Bun run: | @@ -208,24 +219,38 @@ jobs: - name: Build Docker (admin) if: env.BUILD_TARGET == 'admin' || env.BUILD_TARGET == 'both' run: | - docker buildx build \ - --platform linux/amd64 \ - --cache-from type=registry,ref=${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-admin-web:cache \ - --cache-to type=registry,ref=${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-admin-web:cache,mode=max \ - -f ./docker/ppanel-admin-web/Dockerfile \ - -t ${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-admin-web:${{ env.VERSION }} \ - --push . + if docker buildx version >/dev/null 2>&1; then + echo "Using Docker Buildx with cache" + docker buildx build \ + --platform linux/amd64 \ + --cache-from type=registry,ref=${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-admin-web:cache \ + --cache-to type=registry,ref=${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-admin-web:cache,mode=max \ + -f ./docker/ppanel-admin-web/Dockerfile \ + -t ${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-admin-web:${{ env.VERSION }} \ + --push . + else + echo "Using regular Docker build" + docker build -f ./docker/ppanel-admin-web/Dockerfile -t ${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-admin-web:${{ env.VERSION }} . + docker push ${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-admin-web:${{ env.VERSION }} + fi - name: Build Docker (user) if: env.BUILD_TARGET == 'user' || env.BUILD_TARGET == 'both' run: | - docker buildx build \ - --platform linux/amd64 \ - --cache-from type=registry,ref=${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-user-web:cache \ - --cache-to type=registry,ref=${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-user-web:cache,mode=max \ - -f ./docker/ppanel-user-web/Dockerfile \ - -t ${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-user-web:${{ env.VERSION }} \ - --push . + if docker buildx version >/dev/null 2>&1; then + echo "Using Docker Buildx with cache" + docker buildx build \ + --platform linux/amd64 \ + --cache-from type=registry,ref=${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-user-web:cache \ + --cache-to type=registry,ref=${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-user-web:cache,mode=max \ + -f ./docker/ppanel-user-web/Dockerfile \ + -t ${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-user-web:${{ env.VERSION }} \ + --push . + else + echo "Using regular Docker build" + docker build -f ./docker/ppanel-user-web/Dockerfile -t ${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-user-web:${{ env.VERSION }} . + docker push ${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-user-web:${{ env.VERSION }} + fi