Release v.0.3.2 #4
This file contains hidden or 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
| 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 |