From e1319660d9227e870e2afc68cd19fe310627fa66 Mon Sep 17 00:00:00 2001 From: Ronmi Ren Date: Mon, 13 Jan 2025 16:43:00 +0800 Subject: [PATCH] build git image --- .forgejo/workflows/build-docker.yml | 54 ++++++++++++++++++++++++++++- git.dockerfile | 13 +++++++ 2 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 git.dockerfile diff --git a/.forgejo/workflows/build-docker.yml b/.forgejo/workflows/build-docker.yml index 91ac6b3..3712b93 100644 --- a/.forgejo/workflows/build-docker.yml +++ b/.forgejo/workflows/build-docker.yml @@ -9,7 +9,7 @@ on: - 'v*' jobs: - docker: + basic: runs-on: any steps: - name: Checkout code @@ -66,3 +66,55 @@ jobs: password: ${{ secrets.DOCKER_HUB_PASSWORD }} repository: ronmi/forgejo-pages + with-git: + runs-on: any + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Set up qemu for buildx + uses: docker/setup-qemu-action@v3 + - name: Setup buildx + uses: docker/setup-buildx-action@v3 + with: + platforms: linux/amd64,linux/arm64 + - name: Docker - login to my git + uses: docker/login-action@v3 + with: + registry: git.ronmi.tw + username: ronmi + password: ${{ secrets.PACKAGE_PUSH_KEY }} + - name: Docker - login to hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_HUB_USER }} + password: ${{ secrets.DOCKER_HUB_PASSWORD }} + - name: Setup go + uses: actions/setup-go@v5 + with: + go-version: "1.23" + - name: Build arm64 binary + run: GOARCH=arm64 go build + - name: Build arm64 image + uses: docker/build-push-action@v6 + with: + context: . + file: git.dockerfile + platforms: linux/arm64 + push: true + pull: true + tags: git.ronmi.tw/ronmi/forgejo-pages:git-arm64,ronmi/forgejo-pages:git-arm64 + - name: Build amd64 binary + run: GOARCH=amd64 go build + - name: Build amd64 image + uses: docker/build-push-action@v6 + with: + context: . + file: git.dockerfile + platforms: linux/amd64 + push: true + pull: true + tags: git.ronmi.tw/ronmi/forgejo-pages:git-amd64,ronmi/forgejo-pages:git-amd64 + - name: Create multiarch image + run: | + docker buildx imagetools create -t git.ronmi.tw/ronmi/forgejo-pages:git git.ronmi.tw/ronmi/forgejo-pages:git-arm64 git.ronmi.tw/ronmi/forgejo-pages:git-amd64 + docker buildx imagetools create -t ronmi/forgejo-pages:git ronmi/forgejo-pages:git-arm64 ronmi/forgejo-pages:git-amd64 diff --git a/git.dockerfile b/git.dockerfile new file mode 100644 index 0000000..ff94f58 --- /dev/null +++ b/git.dockerfile @@ -0,0 +1,13 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at https://mozilla.org/MPL/2.0/. + +FROM debian:stable-slim + +# Install git +RUN apt-get update && apt-get install -y \ + ca-certificates git \ + && apt-get clean -y && rm -rf /var/lib/apt/lists/* + +ADD forgejo-pages /usr/bin/forgejo-pages +ENTRYPOINT ["/usr/bin/forgejo-pages"]