Skip to content

chore(release): prepare beta release #8

chore(release): prepare beta release

chore(release): prepare beta release #8

Workflow file for this run

name: Publish GitHub Release
on:
push:
tags:
- 'v*-alpha.*'
- 'v*-beta.*'
- 'v*-rc.*'
workflow_dispatch:
inputs:
tag:
description: Version tag to release, for example v0.1.0-beta.1
required: true
permissions:
contents: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Resolve tag
id: tag
run: |
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
TAG="${{ github.event.inputs.tag }}"
else
TAG="${GITHUB_REF_NAME}"
fi
echo "value=$TAG" >> "$GITHUB_OUTPUT"
echo "prerelease=true" >> "$GITHUB_OUTPUT"
- name: Build release notes
id: notes
run: |
TAG="${{ steps.tag.outputs.value }}"
VERSION="${TAG#v}"
{
echo "body<<EOF"
echo "## Navet $VERSION"
echo
echo "- Release tag: \`$TAG\`"
echo "- Package version: \`$VERSION\`"
echo
echo "See [docs/VERSIONING.md](https://github.com/${{ github.repository }}/blob/${{ github.sha }}/docs/VERSIONING.md) for the current release policy."
echo
echo "### Container Publishing"
echo
echo "- App images publish automatically for prerelease tags through [Publish](https://github.com/${{ github.repository }}/actions/workflows/publish.yml): \`$TAG\`, \`beta\`, \`latest\`, and \`sha-*\`."
echo "- Home Assistant add-on images publish automatically for prerelease tags through [Publish Home Assistant Add-on](https://github.com/${{ github.repository }}/actions/workflows/publish-addon.yml): add-on version, \`beta\`, \`latest\`, and \`sha-*\`."
echo "- Manual workflow runs publish developer images tagged \`dev\` for Raspberry Pi testing before a public beta tag."
echo "EOF"
} >> "$GITHUB_OUTPUT"
- name: Create GitHub release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.tag.outputs.value }}
name: ${{ steps.tag.outputs.value }}
body: ${{ steps.notes.outputs.body }}
prerelease: ${{ steps.tag.outputs.prerelease == 'true' }}
generate_release_notes: true