on: push: jobs: docker: 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: Login uses: docker/login-action@v3 with: registry: git.ronmi.tw username: ronmi password: ${{ secrets.PACKAGE_PUSH_KEY }} - 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: . platforms: linux/arm64 push: true pull: true tags: git.ronmi.tw/ronmi/forgejo-pages:arm64 - name: Build amd64 binary run: GOARCH=amd64 go build - name: Build amd64 image uses: docker/build-push-action@v6 with: context: . platforms: linux/amd64 push: true pull: true tags: git.ronmi.tw/ronmi/forgejo-pages:amd64 - name: Create multiarch image run: docker buildx imagetools create -t git.ronmi.tw/ronmi/forgejo-pages git.ronmi.tw/ronmi/forgejo-pages:arm64 git.ronmi.tw/ronmi/forgejo-pages:amd64