Skip to content

goreleaser

goreleaser #32

name: goreleaser
on:
workflow_dispatch:
inputs:
tag:
env:
GO111MODULE: on
jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
- name: "node-cleanup"
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL
sudo docker image prune --all --force
sudo docker builder prune -a
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Checkout code
uses: actions/checkout@v3
- run: git fetch --prune --unshallow
- name: Setup env
uses: c-py/action-dotenv-to-setenv@v3
with:
env-file: .env
- name: get version
run: echo "TAG_VERSION=${{ github.event.inputs.tag }}" >> $GITHUB_ENV
- name: Define and set tags
shell: bash
id: meta
run: |
cross_tags="$(./scripts/image-tags.sh cross)"
echo 'cross_tags<<EOF' >> $GITHUB_OUTPUT
echo "$cross_tags" >> $GITHUB_OUTPUT
echo 'EOF' >> $GITHUB_OUTPUT
- name: Set docker push behavior
uses: tj-actions/branch-names@v6
id: branch-name
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Install cosign
uses: sigstore/cosign-installer@main
- uses: actions/setup-go@v3
with:
go-version: "${{ env.GO_VERSION }}"
- name: Build and push goreleaser image
uses: docker/build-push-action@v3
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.meta.outputs.cross_tags }}
build-args: |
"TAG_VERSION=${{env.TAG_VERSION}}"
"GORELEASER_VERSION=${{env.GORELEASER_VERSION}}"
"DEBIAN_FRONTEND=${{env.DEBIAN_FRONTEND}}"