diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 487ecff..ccdbc4b 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -23,6 +23,9 @@ jobs: exit 1 fi + - name: Check out code + uses: actions/checkout@v5 + - name: Check tag does not already exist run: | if git ls-remote --tags origin "refs/tags/v${{ inputs.version }}" | grep -q .; then @@ -30,9 +33,6 @@ jobs: exit 1 fi - - name: Check out code - uses: actions/checkout@v5 - - name: Set up Go uses: actions/setup-go@v5 with: @@ -49,6 +49,6 @@ jobs: git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" git add manifest.json - git commit -m "Release v${{ inputs.version }}" + git commit --allow-empty -m "Release v${{ inputs.version }}" git tag "v${{ inputs.version }}" git push origin main "v${{ inputs.version }}" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index aa86f9d..d53f4d8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,7 +19,7 @@ jobs: - name: Verify manifest version matches tag run: | TAG_VERSION="${GITHUB_REF_NAME#v}" - MANIFEST_VERSION=$(grep -oP '"version"\s*:\s*"\K[^"]+' manifest.json) + MANIFEST_VERSION=$(jq -r .version manifest.json) if [ "$TAG_VERSION" != "$MANIFEST_VERSION" ]; then echo "::error::Tag version ($TAG_VERSION) does not match manifest.json version ($MANIFEST_VERSION)" exit 1 diff --git a/Makefile b/Makefile index fe8ffca..c0e0225 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,4 @@ +SHELL := /usr/bin/env bash .PHONY: test build package clean PLUGIN_NAME := discord-rich-presence @@ -19,6 +20,7 @@ release: test @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 + @if [[ "$$(git branch --show-current)" != "main" ]]; then echo "Releases must be created from the main branch"; exit 1; fi @# Update version in manifest.json @sed -i 's/"version": *"[^"]*"/"version": "${V}"/' manifest.json git add manifest.json