File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- name : Publish to npm
1+ name : Release and Publish
22
33on :
44 push :
55 branches :
66 - main
77
88jobs :
9- publish :
9+ release :
1010 runs-on : ubuntu-latest
11+ permissions :
12+ contents : write
13+ id-token : write
1114 steps :
1215 - name : Checkout 🛎️
1316 uses : actions/checkout@v4
17+ with :
18+ fetch-depth : 0
1419
1520 - uses : pnpm/action-setup@v4
1621
2732 - name : Build package
2833 run : cd core && pnpm build
2934
35+ - name : Check if version changed
36+ id : version-check
37+ run : |
38+ CURRENT_VERSION=$(cd core && node -p "require('./package.json').version")
39+ echo "current_version=$CURRENT_VERSION" >> $GITHUB_OUTPUT
40+
41+ # Check if tag already exists
42+ if git tag -l | grep -q "^v$CURRENT_VERSION$"; then
43+ echo "version_changed=false" >> $GITHUB_OUTPUT
44+ else
45+ echo "version_changed=true" >> $GITHUB_OUTPUT
46+ fi
47+
48+ - name : Create GitHub Release
49+ if : steps.version-check.outputs.version_changed == 'true'
50+ uses : actions/create-release@v1
51+ env :
52+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
53+ with :
54+ tag_name : v${{ steps.version-check.outputs.current_version }}
55+ release_name : Release v${{ steps.version-check.outputs.current_version }}
56+ draft : false
57+ prerelease : false
58+
3059 - name : Publish to npm
60+ if : steps.version-check.outputs.version_changed == 'true'
3161 run : cd core && pnpm publish --no-git-checks --access public
3262 env :
3363 NODE_AUTH_TOKEN : ${{ secrets.NPM_TOKEN }}
You can’t perform that action at this time.
0 commit comments