Skip to content

Commit d74e958

Browse files
Add release workflow
1 parent ca83d15 commit d74e958

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

.github/workflows/release.yml

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
paths:
6+
- package.json
7+
branches:
8+
- main
9+
10+
jobs:
11+
12+
version-change-check:
13+
name: Check Package Version
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- uses: actions/checkout@v1
18+
19+
- name: Check Package Version
20+
uses: EndBug/version-check@v1
21+
id: check
22+
23+
- name: Cancel
24+
if: steps.check.outputs.changed == 'false'
25+
uses: andymckay/[email protected]
26+
27+
build-and-publish:
28+
name: Build & Publish Release
29+
runs-on: ubuntu-latest
30+
needs: [version-change-check]
31+
environment: 'prod'
32+
33+
steps:
34+
- uses: actions/checkout@v1
35+
36+
- name: Read .nvmrc
37+
run: echo "##[set-output name=NVMRC;]$(cat .nvmrc)"
38+
id: nvm
39+
40+
- uses: actions/setup-node@v2
41+
with:
42+
node-version: "${{ steps.nvm.outputs.NVMRC }}"
43+
44+
- name: Install dependencies
45+
run: npm ci install
46+
47+
- name: Build package
48+
run: npm run build
49+
50+
- name: Publish Package
51+
id: publish
52+
uses: JS-DevTools/npm-publish@v1
53+
with:
54+
token: ${{ secrets.NPM_PUBLISH_TOKEN }}
55+
access: public
56+
57+
- name: Create Release
58+
uses: actions/create-release@v1
59+
env:
60+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
61+
with:
62+
tag_name: ${{ steps.publish.outputs.version }}
63+
release_name: Release ${{ steps.publish.outputs.version }}

0 commit comments

Comments
 (0)