name: Update Version and Release on: push: branches: - master permissions: contents: write jobs: update-version: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Extract latest version from CHANGELOG.md id: get_version run: | VERSION=$(grep -oP '\[\K[0-9]+\.[0-9]+\.[0-9]+' CHANGELOG.md | head -1) echo "VERSION=$VERSION" >> $GITHUB_OUTPUT - name: Update version in cmd/api/main.go run: | sed -i "s/const version = \".*\"/const version = \"${{ steps.get_version.outputs.VERSION }}\"/" cmd/api/main.go - name: Commit and push if changed run: | git config --global user.email "action@github.com" git config --global user.name "GitHub Action" git add cmd/api/main.go git commit -m "Update version to ${{ steps.get_version.outputs.VERSION }}" || echo "No changes to commit" git push