1- name : Release
1+ name : Releases
2+
23on :
34 push :
4- branches :
5- - main
5+ branches : [main]
6+
67jobs :
78 build :
8- name : Build and upload
99 runs-on : ubuntu-latest
1010 steps :
11- - name : Checkout
12- uses : actions/checkout@v3.5.3
13- with :
14- fetch-depth : 0
15- - name : Setup Node.js
16- uses : actions/setup-node@v3.7.0
17- with :
18- node-version : ' 18.x'
19- - name : Install dependencies
20- run : npm install
21- - name : Build
22- run : npm run prepack
23- - name : Upload dist
24- uses : actions/upload-artifact@v3.1.2
11+ - uses : actions/checkout@v3.5.3
12+ - uses : actions/setup-node@v3.7.0
2513 with :
26- name : lib
27- path : lib
14+ node-version : " 18.x "
15+ - run : npm install
2816
29- release :
30- name : Download dist and release
31- runs-on : ubuntu-latest
32- needs : build
33- steps :
34- - name : Checkout
35- uses : actions/checkout@v3.5.3
36- with :
37- fetch-depth : 0
38- - name : Setup Node.js
39- uses : actions/setup-node@v3.7.0
40- with :
41- node-version : ' 18.x'
42- - name : Install dependencies
43- run : npm install
44- - name : Download dist
45- uses : actions/download-artifact@v3
46- with :
47- name : lib
48- path : lib
49- - name : Display dirs
50- run : ls -R
5117 - name : get-npm-version
5218 id : package-version
53- uses : martinbeentjes/npm-get-version-action@v1.3.1
54- - name : github-release
55- id : github-release
19+ uses : martinbeentjes/npm-get-version-action@master
20+ - name : install npm packall
21+ run : npm install npm-pack-all
22+
23+ - run : node node_modules/.bin/npm-pack-all
24+ - uses : Klemensas/action-autotag@stable
25+ id : update_tag
26+ with :
27+ GITHUB_TOKEN : " ${{ secrets.GITHUB_TOKEN }}"
28+ tag_prefix : " v"
29+ - name : Create Release
30+ if : steps.update_tag.outputs.tagname
31+ uses : actions/create-release@v1.1.4
32+ id : create_release
33+ env :
34+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
35+ with :
36+ tag_name : ${{ steps.update_tag.outputs.tagname }}
37+ release_name : Release ${{ steps.update_tag.outputs.tagname }}
38+ draft : false # Default value, but nice to set explicitly
39+ prerelease : false # Default value, but nice to set explicitly
40+ - name : Upload Release Asset
41+ if : steps.update_tag.outputs.tagname
42+ id : upload-release-asset
43+ uses : actions/upload-release-asset@v1
5644 env :
5745 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
58- run : gh release create v${{ steps.package-version.outputs.current-version }} --title "Release ${{ steps.package-version.outputs.current-version }}" --generate-notes
46+ with :
47+ upload_url : ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing its ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
48+ asset_path : ./contentstack-cli-cm-regex-validate-${{ steps.package-version.outputs.current-version }}.tgz
49+ asset_name : contentstack-cli-cm-regex-validate-${{ steps.package-version.outputs.current-version }}.tgz
50+ asset_content_type : application/tgz
0 commit comments