Skip to content

Commit ac3acea

Browse files
Merge pull request #171 from augustocdias/workflows
Update workflow to allow triggering manually
2 parents 2dbeb35 + e39cdca commit ac3acea

1 file changed

Lines changed: 20 additions & 16 deletions

File tree

.github/workflows/release-on-version-bump.yml

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,21 @@
11
name: Create Release on Version Bump
22

33
on:
4+
workflow_dispatch: # Manually trigger
5+
inputs:
6+
force:
7+
description: "Force publish even if versions match"
8+
required: false
9+
default: "false"
410
push:
511
branches: [master]
612

713
jobs:
8-
extract:
14+
publish_release:
915
runs-on: ubuntu-latest
1016
outputs:
11-
newest_version: ${{ steps.extract.outputs.newest_version }}
17+
new_version: ${{ steps.extract.outputs.new_version }}
1218
old_version: ${{ steps.extract.outputs.old_version }}
13-
prev_newest_version: ${{ steps.extract.outputs.prev_newest_version }}
1419
changelog: ${{ steps.extract.outputs.changelog }}
1520

1621
steps:
@@ -28,29 +33,28 @@ jobs:
2833
line2=$(echo "${versions[1]}" | cut -d: -f1)
2934
line3=$(echo "${versions[2]}" | cut -d: -f1 || echo "\$")
3035
31-
newest_version=$(echo "${versions[0]}" | sed -E 's/^.*##[[:space:]]*\[?([0-9]+\.[0-9]+\.[0-9]+)\]?.*/\1/')
32-
old_version=$(echo "${versions[1]}" | sed -E 's/^.*##[[:space:]]*\[?([0-9]+\.[0-9]+\.[0-9]+)\]?.*/\1/')
33-
prev_newest_version=$(git show ${{ steps.prev.outputs.sha }}:package.json | jq -r .version)
36+
new_version=$(echo "${versions[0]}" | sed -E 's/^.*##[[:space:]]*\[?([0-9]+\.[0-9]+\.[0-9]+)\]?.*/\1/')
37+
old_version=$(git show ${{ steps.prev.outputs.sha }}:package.json | jq -r .version)
3438
3539
changelog=$(sed -n "$line1,$((line2 - 1))p" CHANGELOG.md | tail -n +2)
3640
37-
echo "newest_version=$newest_version" >> "$GITHUB_OUTPUT"
41+
echo "new_version=$new_version" >> "$GITHUB_OUTPUT"
3842
echo "old_version=$old_version" >> "$GITHUB_OUTPUT"
39-
echo "prev_newest_version=$prev_newest_version" >> "$GITHUB_OUTPUT"
4043
echo "changelog<<EOF" >> "$GITHUB_OUTPUT"
4144
echo "$changelog" >> "$GITHUB_OUTPUT"
4245
echo "EOF" >> "$GITHUB_OUTPUT"
4346
4447
- name: Verify version matches package.json and package-lock.json
4548
run: |
46-
changelog_version="${{ steps.version.outputs.newest_version }}"
49+
changelog_version="${{ steps.version.outputs.new_version }}"
4750
4851
pkg_version=$(jq -r .version package.json)
4952
lock_version=$(jq -r .version package-lock.json)
5053
51-
echo "CHANGELOG.md: $changelog_version"
52-
echo "package.json: $pkg_version"
53-
echo "package-lock.json:$lock_version"
54+
echo "CHANGELOG.md: $changelog_version"
55+
echo "package.json: $pkg_version"
56+
echo "package-lock.json: $lock_version"
57+
echo "Previous version: $lock_version"
5458
5559
if [[ "$pkg_version" != "$changelog_version" ]]; then
5660
echo "❌ Version mismatch: package.json ($pkg_version) != CHANGELOG.md ($changelog_version)"
@@ -65,14 +69,14 @@ jobs:
6569
echo "✅ Versions match"
6670
6771
- name: Create tag and release
68-
if: steps.version.outputs.newest_version != steps.version.outputs.prev_newest_version
72+
if: ${{ steps.version.outputs.new_version != steps.version.outputs.old_version || github.event.inputs.force == 'true' }}
6973
uses: softprops/action-gh-release@v1
7074
with:
71-
tag_name: v${{ steps.version.outputs.newest_version }}
72-
name: Release v${{ steps.version.outputs.newest_version }}
75+
tag_name: v${{ steps.version.outputs.new_version }}
76+
name: Release v${{ steps.version.outputs.new_version }}
7377
body: |
7478
${{ env.changelog }}
7579
76-
**Full Changelog**: https://github.com/augustocdias/vscode-shell-command/compare/v${{ steps.version.outputs.old_version }}...v${{ steps.version.outputs.newest_version }}
80+
**Full Changelog**: https://github.com/augustocdias/vscode-shell-command/compare/v${{ steps.version.outputs.old_version }}...v${{ steps.version.outputs.new_version }}
7781
env:
7882
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)