Compare commits

..

1 Commits

Author SHA1 Message Date
Claude
16e663f353 Move release logic to create-release.yml GitHub Actions workflow
Extract the release tag creation from the Makefile into a dedicated
GitHub Actions workflow that can be triggered manually via workflow_dispatch
on github.com. The Makefile release target now simply invokes this
workflow using the gh CLI.

https://claude.ai/code/session_01479AwNKrRTyPz44eCamXkL
2026-02-08 00:39:37 +00:00
3 changed files with 53 additions and 6 deletions

52
.github/workflows/create-release.yml vendored Normal file
View File

@@ -0,0 +1,52 @@
name: Create Release
on:
workflow_dispatch:
inputs:
version:
description: "Release version (e.g. 0.53.0)"
required: true
type: string
jobs:
create-release:
name: Create Release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Validate version format
run: |
if [[ ! "${{ inputs.version }}" =~ ^[0-9]+\.[0-9]+\.[0-9]+.*$ ]]; then
echo "::error::Invalid version format '${{ inputs.version }}'. Expected X.X.X"
exit 1
fi
- name: Check if tag already exists
run: |
if git rev-parse "v${{ inputs.version }}" >/dev/null 2>&1; then
echo "::error::Tag v${{ inputs.version }} already exists"
exit 1
fi
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Run go mod tidy
run: go mod tidy
- name: Check for pending changes
run: |
if [ -n "$(git status -s)" ]; then
echo "::error::There are pending changes after 'go mod tidy'. Please commit them first."
git status -s
exit 1
fi
- name: Create and push tag
run: |
git tag v${{ inputs.version }}
git push origin v${{ inputs.version }}

View File

@@ -242,11 +242,7 @@ clean:
release:
@if [[ ! "${V}" =~ ^[0-9]+\.[0-9]+\.[0-9]+.*$$ ]]; then echo "Usage: make release V=X.X.X"; exit 1; fi
go mod tidy
@if [ -n "`git status -s`" ]; then echo "\n\nThere are pending changes. Please commit or stash first"; exit 1; fi
make pre-push
git tag v${V}
git push origin v${V} --no-verify
gh workflow run create-release.yml -f version=${V}
.PHONY: release
download-deps:

View File

@@ -49,7 +49,6 @@ func (e extractor) Version() string {
func (e extractor) extractMetadata(filePath string) (*metadata.Info, error) {
f, close, err := e.openFile(filePath)
if err != nil {
log.Warn("gotaglib: Error reading metadata from file. Skipping", "filePath", filePath, err)
return nil, err
}
defer close()