fix(ci): try speed up docker build

This commit is contained in:
krau
2025-06-30 22:47:47 +08:00
parent cb6540c017
commit f84c83a7e2
2 changed files with 14 additions and 20 deletions

View File

@@ -29,13 +29,7 @@ jobs:
type=semver,pattern={{version}} type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}}.{{minor}}
type=sha type=sha
type=raw,value=latest type=raw,value=latest,enable={{is_default_branch}}
type=ref,event=branch
type=ref,event=tag
labels: |
org.opencontainers.image.title=${{ env.IMAGE_NAME }}
org.opencontainers.image.source=https://github.com/krau/SaveAny-Bot
org.opencontainers.image.url=https://github.com/krau/SaveAny-Bot
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v3 uses: docker/setup-qemu-action@v3
@@ -50,23 +44,20 @@ jobs:
username: ${{ github.actor }} username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract version from Git Ref
id: extract_version
run: |
VERSION=$(echo "${{ github.ref }}" | sed 's/refs\/tags\/v//')
echo "VERSION=${VERSION}" >> $GITHUB_ENV
- name: Build and push Docker image - name: Build and push Docker image
id: build-and-push
uses: docker/build-push-action@v6 uses: docker/build-push-action@v6
with: with:
context: . context: .
platforms: linux/amd64,linux/arm64 platforms: linux/amd64,linux/arm64
cache-from: type=gha push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: |
type=registry,ref=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
type=gha
cache-to: type=gha,mode=max cache-to: type=gha,mode=max
build-args: | build-args: |
VERSION=${{ steps.meta.outputs.version }} VERSION=${{ steps.meta.outputs.version }}
GitCommit=${{ github.sha }} GitCommit=${{ github.sha }}
BuildTime=${{ format(github.event.repository.updated_at, 'yyyy-MM-dd HH:mm:ss') }} BuildTime=${{ fromJson(toJSON(github.event.repository.pushed_at)) }}
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

View File

@@ -6,15 +6,18 @@ ARG BuildTime="Unknown"
WORKDIR /app WORKDIR /app
COPY . . COPY go.mod go.sum ./
RUN --mount=type=cache,target=/go/pkg/mod \
go mod download
COPY . .
RUN --mount=type=cache,target=/root/.cache/go-build \ RUN --mount=type=cache,target=/root/.cache/go-build \
--mount=type=cache,target=/go/pkg \ --mount=type=cache,target=/go/pkg \
CGO_ENABLED=0 \ CGO_ENABLED=0 \
go build -trimpath \ go build -trimpath \
-ldflags "-s -w \ -ldflags "-s -w \
-X github.com/krau/SaveAny-Bot/common.Version=${VERSION} \ -X github.com/krau/SaveAny-Bot/common.Version=${VERSION} \
-X github.com/krau/SaveAny-Bot/common.GitCommit=${GiTCommit} \ -X github.com/krau/SaveAny-Bot/common.GitCommit=${GitCommit} \
-X github.com/krau/SaveAny-Bot/common.BuildTime=${BuildTime}" \ -X github.com/krau/SaveAny-Bot/common.BuildTime=${BuildTime}" \
-o saveany-bot . -o saveany-bot .