Skip to content

Merge pull request #1 from dokku/attestations #5

Merge pull request #1 from dokku/attestations

Merge pull request #1 from dokku/attestations #5

Workflow file for this run

---
name: "tagged-release"
# yamllint disable-line rule:truthy
on:
push:
tags:
- "*"
jobs:
tagged-release:
name: tagged-release
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: "go.mod"
- name: Get Repository Name
id: repo-name
run: |
echo "REPOSITORY_NAME=$(echo "${{ github.repository }}" | cut -d '/' -f 2)" >> $GITHUB_OUTPUT
- name: Build binaries
uses: crazy-max/ghaction-xgo@v3
with:
xgo_version: latest
go_version: 1.21
dest: dist
prefix: ${{ steps.repo-name.outputs.REPOSITORY_NAME }}
targets: windows/amd64,linux/amd64,linux/arm64,darwin/arm64,darwin/amd64
v: true
x: false
race: false
ldflags: -s -w -X main.Version=${{ github.ref_name }}
buildmode: default
trimpath: true
- name: Attest Build Provenance - darwin-amd64
uses: actions/[email protected]
with:
subject-path: "dist/${{ steps.repo-name.outputs.REPOSITORY_NAME }}-darwin-amd64"
- name: Attest Build Provenance - darwin-arm64
uses: actions/[email protected]
with:
subject-path: "dist/${{ steps.repo-name.outputs.REPOSITORY_NAME }}-darwin-arm64"
- name: Attest Build Provenance - linux-amd64
uses: actions/[email protected]
with:
subject-path: "dist/${{ steps.repo-name.outputs.REPOSITORY_NAME }}-linux-amd64"
- name: Attest Build Provenance - linux-arm64
uses: actions/[email protected]
with:
subject-path: "dist/${{ steps.repo-name.outputs.REPOSITORY_NAME }}-linux-arm64"
- name: Attest Build Provenance - windows-amd64
uses: actions/[email protected]
with:
subject-path: "dist/${{ steps.repo-name.outputs.REPOSITORY_NAME }}-windows-amd64.exe"
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: "Login to GitHub Container Registry"
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
push: true
tags: ghcr.io/${{ github.repository }}:${{ github.ref_name }},ghcr.io/${{ github.repository }}:latest
- name: Release
uses: softprops/action-gh-release@v2
with:
files: dist/*
generate_release_notes: true
make_latest: "true"