@@ -2,10 +2,13 @@ name: 'Publish to npm'
22on :
33 release :
44 types : [published]
5+ push :
6+ tags :
7+ - ' *.*.*-build.*'
58
69jobs :
7- publish :
8- name : Publish to npm
10+ release :
11+ name : Publish stable release
912 runs-on : ubuntu-latest
1013 permissions :
1114 contents : read
@@ -22,10 +25,63 @@ jobs:
2225 uses : actions/checkout@v6
2326 - name : Install dependencies
2427 run : npm i
28+ - name : Bump package.json version from tag
29+ uses : TypescriptPrime/bump-packagejson-version@ccb775f30958884d708bc6ee8163fbd5945f9e93
2530 - name : Build
2631 run : npm run build
2732 - name : Publish to npm
2833 run : npm publish --access public
34+ if : ${{ github.event_name == 'release' && github.event.release.prerelease == false }}
35+ beta-release :
36+ name : Publish beta release
37+ runs-on : ubuntu-latest
38+ permissions :
39+ contents : read
40+ id-token : write
41+ steps :
42+ - name : Set up NodeJS LTS
43+ uses : actions/setup-node@v6
44+ with :
45+ node-version : ' lts/*'
46+ registry-url : ' https://registry.npmjs.org'
47+ - name : Update npm package manager
48+ run : npm install -g npm@latest
49+ - name : Checkout
50+ uses : actions/checkout@v6
51+ - name : Install dependencies
52+ run : npm i
53+ - name : Bump package.json version from tag
54+ uses : TypescriptPrime/bump-packagejson-version@ccb775f30958884d708bc6ee8163fbd5945f9e93
55+ - name : Build
56+ run : npm run build
57+ - name : Publish to npm
58+ run : npm publish --tag beta --access public
59+ if : ${{ github.event_name == 'release' && github.event.release.prerelease == true && contains(github.event.release.tag_name, '-beta.') }}
60+ build-release :
61+ name : Build release (no publish)
62+ runs-on : ubuntu-latest
63+ permissions :
64+ contents : read
65+ id-token : write
66+ steps :
67+ - name : Set up NodeJS LTS
68+ uses : actions/setup-node@v6
69+ with :
70+ node-version : ' lts/*'
71+ registry-url : ' https://registry.npmjs.org'
72+ - name : Update npm package manager
73+ run : npm install -g npm@latest
74+ - name : Checkout
75+ uses : actions/checkout@v6
76+ - name : Install dependencies
77+ run : npm i
78+ - name : Bump package.json version from tag
79+ uses : TypescriptPrime/bump-packagejson-version@ccb775f30958884d708bc6ee8163fbd5945f9e93
80+ - name : Build
81+ run : npm run build
82+ - name : Publish to npm
83+ run : npm publish --tag build --access public
84+ if : ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') && contains(github.ref, '-build.') }}
2985 purge :
3086 name : Purge jsdelivr cache
3187 runs-on : ubuntu-latest
4298 with :
4399 package : ' @filteringdev/tinyshield'
44100 disttag : ' latest'
45- needs : [publish ]
101+ needs : [release ]
0 commit comments