Skip to content

Package latest release #5

Package latest release

Package latest release #5

Workflow file for this run

on:
push:
tags:
- 'v*'
name: Package latest release
jobs:
test:
uses: ./.github/workflows/test.yaml
release:
name: Create release
runs-on: 'ubuntu-latest'
needs: test
permissions:
contents: write
strategy:
matrix:
goosarch:
- 'darwin/amd64'
- 'darwin/arm64'
- 'linux/amd64'
- 'linux/arm64'
- 'windows/amd64'
#- 'windows/arm'
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
with:
go-version: '1.20.x'
- name: Setup arch vars # thank you jidicula
run: |
GOOSARCH=${{matrix.goosarch}}
GOOS=${GOOSARCH%/*}
GOARCH=${GOOSARCH#*/}
BINARY_NAME=showtimer-$GOOS-$GOARCH
echo "BINARY_NAME=$BINARY_NAME" >> $GITHUB_ENV
echo "RELEASE_DIR=$GOOS/$GOARCH/showtimer" >> $GITHUB_ENV
echo "GOOS=$GOOS" >> $GITHUB_ENV
echo "GOARCH=$GOARCH" >> $GITHUB_ENV
- name: Build
run: |
mkdir -p $RELEASE_DIR
go build -o "$RELEASE_DIR/" -v
- name: Release Notes
run:
git log $(git describe HEAD~ --tags --abbrev=0)..HEAD --pretty='format:* %h %s%n * %an <%ae>' --no-merges >> ".github/RELEASE-TEMPLATE.md"
- name: Create release archive
run: |
cp -rp static $RELEASE_DIR/static
cp -rp showtimer.yaml $RELEASE_DIR/
cp -rp timers.html $RELEASE_DIR/
cp LICENSE $RELEASE_DIR/
cp README.md $RELEASE_DIR/
cd $RELEASE_DIR/..
zip -r $BINARY_NAME.zip ./showtimer
- name: Release with Notes
uses: softprops/action-gh-release@v1
with:
body_path: ".github/RELEASE-TEMPLATE.md"
draft: true
files: ${{env.RELEASE_DIR}}/../${{env.BINARY_NAME}}.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}