Skip to content

Release

Release #45

Workflow file for this run

name: Release
'on':
workflow_dispatch:
release:
types: [published, edited]
# Add permissions for the GITHUB_TOKEN
permissions:
contents: write
packages: read
# This is required for creating and modifying releases
id-token: write
# Required for workflow dispatch
actions: write
concurrency:
group: release-${{ github.ref }}
cancel-in-progress: false
jobs:
build-release:
name: Build & release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Set Version
id: vars
run: |
VERSION=${GITHUB_REF#refs/tags/}
VERSION=${VERSION#v}
echo "VERSION=$VERSION" >> $GITHUB_ENV
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: '1.22.x'
check-latest: true
- name: Build for Darwin AMD64
run: |
GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -o ./.build/kwild ./cmd/kwild/main.go
tar -czvf ./.build/tn_${{ env.VERSION }}_darwin_amd64.tar.gz -C ./.build kwild
rm -rf ./.build/kwild
- name: Build for Darwin ARM64
run: |
GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 go build -o ./.build/kwild ./cmd/kwild/main.go
tar -czvf ./.build/tn_${{ env.VERSION }}_darwin_arm64.tar.gz -C ./.build kwild
rm -rf ./.build/kwild
- name: Build for Linux AMD64
run: |
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o ./.build/kwild ./cmd/kwild/main.go
tar -czvf ./.build/tn_${{ env.VERSION }}_linux_amd64.tar.gz -C ./.build kwild
rm -rf ./.build/kwild
- name: Build for Linux ARM64
run: |
GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -o ./.build/kwild ./cmd/kwild/main.go
tar -czvf ./.build/tn_${{ env.VERSION }}_linux_arm64.tar.gz -C ./.build kwild
rm -rf ./.build/kwild
- name: Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
./.build/tn_${{ env.VERSION }}_darwin_amd64.tar.gz
./.build/tn_${{ env.VERSION }}_darwin_arm64.tar.gz
./.build/tn_${{ env.VERSION }}_linux_amd64.tar.gz
./.build/tn_${{ env.VERSION }}_linux_arm64.tar.gz
token: ${{ secrets.GITHUB_TOKEN }}
trigger-builds:
name: Trigger AMI and Docker builds
runs-on: ubuntu-latest
needs: build-release
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Trigger AMI build
uses: actions/github-script@v7
with:
script: |
await github.rest.actions.createWorkflowDispatch({
owner: context.repo.owner,
repo: context.repo.repo,
workflow_id: 'ami-build.yml',
ref: context.ref
});
- name: Trigger Docker build
uses: actions/github-script@v7
with:
script: |
await github.rest.actions.createWorkflowDispatch({
owner: context.repo.owner,
repo: context.repo.repo,
workflow_id: 'publish-node-image.yaml',
ref: context.ref
});