63 lines
1.7 KiB
YAML
63 lines
1.7 KiB
YAML
name: CI
|
|
on:
|
|
push:
|
|
tags:
|
|
- v0.**
|
|
jobs:
|
|
releases-matrix:
|
|
name: Release Go Binary
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
goos: [linux, windows, darwin]
|
|
goarch: [amd64, arm64]
|
|
exclude:
|
|
- goarch: arm64
|
|
goos: windows
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: wangyoucao577/go-release-action@v1
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
goos: ${{ matrix.goos }}
|
|
goarch: ${{ matrix.goarch }}
|
|
goversion: "https://dl.google.com/go/go1.22.6.linux-amd64.tar.gz"
|
|
project_path: "./"
|
|
binary_name: "goma"
|
|
extra_files: LICENSE README.md
|
|
docker:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
packages: write
|
|
contents: read
|
|
steps:
|
|
-
|
|
name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v3
|
|
-
|
|
name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
-
|
|
name: Login to DockerHub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
-
|
|
name: Get the tag name
|
|
id: get_tag_name
|
|
run: echo "TAG_NAME=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
|
|
-
|
|
name: Build and push
|
|
uses: docker/build-push-action@v3
|
|
with:
|
|
push: true
|
|
file: "./Dockerfile"
|
|
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
|
build-args: |
|
|
appVersion=${{ env.TAG_NAME }}
|
|
tags: |
|
|
"${{vars.BUILDKIT_IMAGE}}:${{ env.TAG_NAME }}"
|
|
"${{vars.BUILDKIT_IMAGE}}:latest"
|
|
|