Package latest release #5
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 }} |