Skip to content

Release v.0.3.2

Release v.0.3.2 #4

Workflow file for this run

name: Production Release
on:
pull_request:
branches:
- main
types:
- closed
paths-ignore:
- '.github/workflows/**'
- '**/*.md'
permissions:
contents: write
jobs:
promote-release:
if: github.event.pull_request.merged == true && github.event.pull_request.head.ref == 'develop'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
ref: main
- name: Read version
id: version
run: echo "VERSION=$(cat version)" >> $GITHUB_OUTPUT
- name: Generate changelog
id: changelog
run: |
# Get commits since last production tag (excluding beta tags)
LAST_TAG=$(git tag -l "v*" --sort=-version:refname | grep -v "beta" | head -n 2 | tail -n 1 || echo "")
if [ -z "$LAST_TAG" ]; then
COMMITS=$(git log --pretty=format:"- %h: %s" --reverse)
else
COMMITS=$(git log $LAST_TAG..HEAD --pretty=format:"- %h: %s" --reverse)
fi
# Use a unique delimiter to avoid YAML conflicts
{
echo "CHANGELOG<<__END_CHANGELOG__"
echo "## ✅ Production Release v${{ steps.version.outputs.VERSION }}"
echo ""
echo "This release has been tested and approved for production use."
echo ""
echo "### 📦 Platform Builds"
echo "- **macOS**: Paycheck Planner-${{ steps.version.outputs.VERSION }}-arm64.dmg"
echo "- **Windows**: Paycheck Planner Setup ${{ steps.version.outputs.VERSION }}.exe"
echo "- **Linux**: Paycheck Planner-${{ steps.version.outputs.VERSION }}-arm64.AppImage"
echo ""
echo "### 📝 Changelog"
echo "$COMMITS"
echo "__END_CHANGELOG__"
} >> $GITHUB_OUTPUT
- name: Promote to Production Release
uses: softprops/action-gh-release@v2
with:
tag_name: v${{ steps.version.outputs.VERSION }}
name: v${{ steps.version.outputs.VERSION }}
body: ${{ steps.changelog.outputs.CHANGELOG }}
draft: false
prerelease: false
make_latest: true