Skip to content

goreleaser-pro

goreleaser-pro #33

name: goreleaser-pro
on:
workflow_dispatch:
inputs:
tag:
env:
GO111MODULE: on
jobs:
goreleaser-pro:
runs-on: ubuntu-latest
steps:
- 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_pro_tags="$(./scripts/image-tags.sh cross-pro)"
echo 'cross_pro_tags<<EOF' >> $GITHUB_OUTPUT
echo "$cross_pro_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 pro image
uses: docker/build-push-action@v3
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.meta.outputs.cross_pro_tags }}
build-args: |
"TAG_VERSION=${{env.TAG_VERSION}}"
"GORELEASER_VERSION=${{env.GORELEASER_VERSION}}"
"GORELEASER_DISTRIBUTION=-pro"
"DEBIAN_FRONTEND=${{env.DEBIAN_FRONTEND}}"