Skip to content

Release v0.6.8

Release v0.6.8 #9

Workflow file for this run

name: Release
on:
push:
tags:
- 'v*' # Trigger on version tags (v0.6.4, v1.0.0, etc.)
permissions:
contents: write
jobs:
release:
name: Build and Release
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0 # Full history needed for changelog
token: ${{ secrets.GITHUB_TOKEN }}
- name: Get version from tag
id: version
run: |
# Extract version from tag (v0.6.4 -> 0.6.4)
VERSION=${GITHUB_REF#refs/tags/v}
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "Release version: $VERSION"
- name: Setup .NET 9
uses: actions/setup-dotnet@v3
with:
dotnet-version: '9.0.x'
- name: Install zip utility
run: sudo apt-get update && sudo apt-get install -y zip
- name: Generate changelog from commits
id: changelog
run: |
# Find previous version tag (not release trigger tags)
PREV_TAG=$(git describe --tags --abbrev=0 --match "v[0-9]*" HEAD^ 2>/dev/null || echo "")
echo "Previous tag: ${PREV_TAG:-none (first release)}"
if [ -z "$PREV_TAG" ]; then
# First release - get all commits (excluding automated commits)
COMMITS=$(git log --pretty=format:"- %s (%h)" --no-merges | grep -v "\[skip ci\]" | grep -v "Update CHANGELOG" | grep -v "Release v" | head -20)
else
# Get commits since last version tag (excluding automated commits)
COMMITS=$(git log ${PREV_TAG}..HEAD --pretty=format:"- %s (%h)" --no-merges | grep -v "\[skip ci\]" | grep -v "Update CHANGELOG" | grep -v "Release v")
fi
# Build changelog for GitHub release
{
echo "changelog<<EOF"
echo "## What's Changed"
echo ""
echo "$COMMITS"
if [ -n "$PREV_TAG" ]; then
echo ""
echo "**Full Changelog**: https://github.com/${{ github.repository }}/compare/${PREV_TAG}...v${{ steps.version.outputs.version }}"
fi
echo "EOF"
} >> $GITHUB_OUTPUT
- name: Build all platforms
run: |
./build.sh
echo "✓ Built all platforms"
- name: Create GitHub Release
uses: softprops/action-gh-release@v1
with:
tag_name: v${{ steps.version.outputs.version }}
name: "Localization Resource Manager v${{ steps.version.outputs.version }}"
body: |
# LRM v${{ steps.version.outputs.version }}
${{ steps.changelog.outputs.changelog }}
## 📦 Downloads
Choose the appropriate version for your platform:
- **Linux (x64):** `lrm-linux-x64.tar.gz`
- **Linux (ARM64):** `lrm-linux-arm64.tar.gz` *(Raspberry Pi, etc.)*
- **Windows (x64):** `lrm-win-x64.zip`
- **Windows (ARM64):** `lrm-win-arm64.zip`
## 📖 Installation
See the [Installation Guide](https://github.com/${{ github.repository }}#installation) for detailed instructions.
## 🧪 Verified
✅ All tests passing
files: |
publish/lrm-linux-x64.tar.gz
publish/lrm-linux-arm64.tar.gz
publish/lrm-win-x64.zip
publish/lrm-win-arm64.zip
draft: false
prerelease: false