@@ -16,16 +16,26 @@ jobs:
1616 permissions :
1717 contents : read
1818 id-token : write
19+ environment :
20+ name : production
21+ url : ${{ steps.gh-release.outputs.url }}
1922 steps :
2023 - name : Checkout
2124 uses : actions/checkout@v4
2225
23- - name : Get Release message
26+ - name : Get Release data
27+ id : get_release_data
2428 if : github.ref_type == 'tag'
2529 run : |
2630 MESSAGE=$(git tag -l --format='%(contents)' "${GITHUB_REF_NAME}")
2731 echo "$MESSAGE" >> release-message.txt
2832 cat release-message.txt
33+
34+ NPM_TAG="latest"
35+ if [[ "${GITHUB_REF_NAME}" == *-* ]]; then
36+ NPM_TAG="next"
37+ fi
38+ echo "NPM_TAG=${NPM_TAG}" >> $GITHUB_ENV
2939 env :
3040 GITHUB_REF_NAME : ${{ github.ref_name }}
3141
@@ -64,22 +74,23 @@ jobs:
6474 working-directory : ./out
6575 run : npx turbo verify
6676
77+ - name : Create GitHub Release
78+ if : github.ref_type == 'tag'
79+ id : gh-release
80+ uses : softprops/action-gh-release@v2
81+ with :
82+ body_path : release-message.txt
83+ make_latest : ${{ steps.get_release_data.outputs.NPM_TAG == 'latest' }}
84+
6785 - name : Publish on JSR - Core
6886 working-directory : ./out/packages/core
6987 continue-on-error : true
7088 run : npx -y jsr publish --token ${{ secrets.JSR_API_TOKEN }} --allow-slow-types
7189
7290 - name : Publish on NPM
7391 working-directory : ./out
74- run : yarn publish:npm
92+ run : |
93+ NPM_TAG="${{ steps.get_release_data.outputs.NPM_TAG || 'latest' }}"
94+ yarn workspaces foreach -A --no-private npm publish --tolerate-republish --tag $NPM_TAG
7595 env :
7696 NPM_AUTH_TOKEN : ${{ secrets.NPM_AUTH_TOKEN }}
77-
78- - name : Create GitHub Release
79- if : github.ref_type == 'tag'
80- uses : softprops/action-gh-release@v2
81- with :
82- body_path : release-message.txt
83- make_latest : false
84- env :
85- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments