87 lines
3.2 KiB
YAML
87 lines
3.2 KiB
YAML
|
|
# 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/.
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
basic:
|
|
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: .
|
|
platforms: linux/arm64
|
|
push: true
|
|
pull: true
|
|
tags: git.ronmi.tw/ronmi/forgejo-pages:arm64,ronmi/forgejo-pages:arm64
|
|
- name: Build arm64 image (git)
|
|
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: .
|
|
platforms: linux/amd64
|
|
push: true
|
|
pull: true
|
|
tags: git.ronmi.tw/ronmi/forgejo-pages:amd64,ronmi/forgejo-pages:amd64
|
|
- name: Build amd64 image (git)
|
|
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.ronmi.tw/ronmi/forgejo-pages:arm64 git.ronmi.tw/ronmi/forgejo-pages:amd64
|
|
docker buildx imagetools create -t ronmi/forgejo-pages ronmi/forgejo-pages:arm64 ronmi/forgejo-pages:amd64
|
|
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
|
|
- name: Update readme to docker hub
|
|
uses: https://github.com/peter-evans/dockerhub-description@v4
|
|
with:
|
|
username: ${{ secrets.DOCKER_HUB_USER }}
|
|
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
|
repository: ronmi/forgejo-pages
|