From d06dc1a89f85b3eaf3fc5e58a304783d06fa2c64 Mon Sep 17 00:00:00 2001 From: zijiren233 Date: Wed, 17 Jul 2024 23:10:17 +0800 Subject: [PATCH 1/3] feat: fast build linux/arm64 frontend --- .github/workflows/docker-image-amd64.yml | 61 ------------------- ...image-amd64-en.yml => docker-image-en.yml} | 10 ++- ...ocker-image-arm64.yml => docker-image.yml} | 5 +- Dockerfile | 2 +- 4 files changed, 12 insertions(+), 66 deletions(-) delete mode 100644 .github/workflows/docker-image-amd64.yml rename .github/workflows/{docker-image-amd64-en.yml => docker-image-en.yml} (85%) rename .github/workflows/{docker-image-arm64.yml => docker-image.yml} (96%) diff --git a/.github/workflows/docker-image-amd64.yml b/.github/workflows/docker-image-amd64.yml deleted file mode 100644 index 1b9983c608..0000000000 --- a/.github/workflows/docker-image-amd64.yml +++ /dev/null @@ -1,61 +0,0 @@ -name: Publish Docker image (amd64) - -on: - push: - tags: - - 'v*.*.*' - workflow_dispatch: - inputs: - name: - description: 'reason' - required: false -jobs: - push_to_registries: - name: Push Docker image to multiple registries - runs-on: ubuntu-latest - permissions: - packages: write - contents: read - steps: - - name: Check out the repo - uses: actions/checkout@v3 - - - name: Check repository URL - run: | - REPO_URL=$(git config --get remote.origin.url) - if [[ $REPO_URL == *"pro" ]]; then - exit 1 - fi - - - name: Save version info - run: | - git describe --tags > VERSION - - - name: Log in to Docker Hub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Log in to the Container registry - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v4 - with: - images: | - justsong/one-api - ghcr.io/${{ github.repository }} - - - name: Build and push Docker images - uses: docker/build-push-action@v3 - with: - context: . - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file diff --git a/.github/workflows/docker-image-amd64-en.yml b/.github/workflows/docker-image-en.yml similarity index 85% rename from .github/workflows/docker-image-amd64-en.yml rename to .github/workflows/docker-image-en.yml index 31c01e8001..30cd0e3815 100644 --- a/.github/workflows/docker-image-amd64-en.yml +++ b/.github/workflows/docker-image-en.yml @@ -1,4 +1,4 @@ -name: Publish Docker image (amd64, English) +name: Publish Docker image (English) on: push: @@ -34,6 +34,13 @@ jobs: - name: Translate run: | python ./i18n/translate.py --repository_path . --json_file_path ./i18n/en.json + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Log in to Docker Hub uses: docker/login-action@v2 with: @@ -51,6 +58,7 @@ jobs: uses: docker/build-push-action@v3 with: context: . + platforms: linux/amd64,linux/arm64 push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file diff --git a/.github/workflows/docker-image-arm64.yml b/.github/workflows/docker-image.yml similarity index 96% rename from .github/workflows/docker-image-arm64.yml rename to .github/workflows/docker-image.yml index dc2b4b97ce..5ad6075369 100644 --- a/.github/workflows/docker-image-arm64.yml +++ b/.github/workflows/docker-image.yml @@ -1,10 +1,9 @@ -name: Publish Docker image (arm64) +name: Publish Docker image on: push: tags: - 'v*.*.*' - - '!*-alpha*' workflow_dispatch: inputs: name: @@ -26,7 +25,7 @@ jobs: REPO_URL=$(git config --get remote.origin.url) if [[ $REPO_URL == *"pro" ]]; then exit 1 - fi + fi - name: Save version info run: | diff --git a/Dockerfile b/Dockerfile index 29b4ca71cc..8154e4dcce 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16 as builder +FROM --platform=$BUILDPLATFORM node:16 as builder WORKDIR /web COPY ./VERSION . From d0510b451f17752df4a52e0fa004ce97963d37d7 Mon Sep 17 00:00:00 2001 From: zijiren233 Date: Wed, 17 Jul 2024 23:20:33 +0800 Subject: [PATCH 2/3] fix: dockerfile as replace to AS --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 8154e4dcce..ade561e408 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$BUILDPLATFORM node:16 as builder +FROM --platform=$BUILDPLATFORM node:16 AS builder WORKDIR /web COPY ./VERSION . From b1c53377d36cddb373af89a6497ba4603ffcef9b Mon Sep 17 00:00:00 2001 From: zijiren233 Date: Thu, 18 Jul 2024 15:39:27 +0800 Subject: [PATCH 3/3] fix: trim space --- .github/workflows/docker-image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 5ad6075369..56f1d6ad57 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -25,7 +25,7 @@ jobs: REPO_URL=$(git config --get remote.origin.url) if [[ $REPO_URL == *"pro" ]]; then exit 1 - fi + fi - name: Save version info run: |