From 8c12db83e86ed91614b1047dc8786aa6abfdfdd7 Mon Sep 17 00:00:00 2001 From: Aseem Shrey Date: Sun, 15 Feb 2026 14:14:33 -0500 Subject: [PATCH 1/2] chore(release): automate version bumping in release workflow - Bump package.json version to 0.2.0 to match latest release - Add automated version-bump step in release.yml workflow - Step updates package.json on main after successful release - Prevents version drift between released artifacts and repo - Uses [skip ci] to avoid recursive workflow triggers Signed-off-by: Aseem Shrey --- .github/workflows/release.yml | 25 +++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3c48e95e..985d0582 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -262,11 +262,36 @@ jobs: echo " This might be expected if GitHub release fetching is enabled" fi + - name: Bump package.json version on main + run: | + VERSION_CLEAN="${{ steps.version.outputs.version_clean }}" + echo "Bumping root package.json version to ${VERSION_CLEAN}..." + + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + + git fetch origin main + git checkout main + + # Update the root package.json version + jq --arg v "$VERSION_CLEAN" '.version = $v' package.json > package.json.tmp && mv package.json.tmp package.json + + # Only commit if there's actually a change + if git diff --quiet package.json; then + echo "package.json already at version ${VERSION_CLEAN}, skipping commit." + else + git add package.json + git commit -m "chore: bump version to ${VERSION_CLEAN} [skip ci]" + git push origin main + echo "✅ package.json version bumped to ${VERSION_CLEAN} on main" + fi + - name: Release summary run: | echo "📋 Release Summary:" echo " ✅ Docker images built and pushed" echo " ✅ GitHub Release created: ${{ steps.version.outputs.version }}" echo " ✅ Version check service updated" + echo " ✅ package.json version synced on main" echo "" echo "🎉 Users will now receive update notifications for version ${{ steps.version.outputs.version_clean }}" diff --git a/package.json b/package.json index 9a71c68f..522991b8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "shipsec-studio", "private": true, - "version": "0.1.2", + "version": "0.2.0", "packageManager": "bun@1.1.20", "workspaces": [ "frontend", From 84aa0972c8bdac50cd4ba3ff41d6f82e344d68ef Mon Sep 17 00:00:00 2001 From: Aseem Shrey Date: Sun, 15 Feb 2026 14:24:58 -0500 Subject: [PATCH 2/2] fix(release): skip main version bump when releasing non-latest tags - Add conditional check to only update package.json when is_latest=true - Prevents older backport/patch releases from overwriting main's version - Example: releasing v0.1.3 after v0.2.1 won't downgrade main to 0.1.3 - Update release summary to reflect conditional behavior Addresses feedback from @changex-codex-connector Signed-off-by: Aseem Shrey --- .github/workflows/release.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 985d0582..4b1f266b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -263,6 +263,7 @@ jobs: fi - name: Bump package.json version on main + if: steps.is_latest.outputs.is_latest == 'true' run: | VERSION_CLEAN="${{ steps.version.outputs.version_clean }}" echo "Bumping root package.json version to ${VERSION_CLEAN}..." @@ -292,6 +293,10 @@ jobs: echo " ✅ Docker images built and pushed" echo " ✅ GitHub Release created: ${{ steps.version.outputs.version }}" echo " ✅ Version check service updated" - echo " ✅ package.json version synced on main" + if [ "${{ steps.is_latest.outputs.is_latest }}" = "true" ]; then + echo " ✅ package.json version synced on main" + else + echo " ⏭️ package.json NOT updated (not the latest version)" + fi echo "" echo "🎉 Users will now receive update notifications for version ${{ steps.version.outputs.version_clean }}"