cc9523aba15515b50ce59f85a170256236a24aa4
[poolifier.git] / npmpublish.yml
1 name: Node.js Package
2
3 on:
4 release:
5 types: [created]
6
7 jobs:
8 build:
9 runs-on: ubuntu-latest
10
11 steps:
12 - name: Checkout
13 uses: actions/checkout@v3
14
15 - name: Setup Node
16 uses: actions/setup-node@v3
17 with:
18 node-version: '16.x'
19
20 - name: Install
21 run: npm ci
22
23 - name: Production Build
24 run: npm run build:prod
25
26 - name: Lint
27 run: npm run lint
28
29 - name: Production Tests & Coverage
30 run: |
31 npm run test:prod
32 npm run coverage
33 env:
34 CI: true
35
36 publish-npm:
37 needs: build
38 runs-on: ubuntu-latest
39
40 steps:
41 - name: Checkout
42 uses: actions/checkout@v3
43
44 - name: Setup Node
45 uses: actions/setup-node@v3
46 with:
47 node-version: '16.x'
48 registry-url: https://registry.npmjs.org/
49
50 - name: Read package.json version
51 uses: tyankatsu0105/read-package-version-actions@v1
52 id: package-version
53
54 - name: Install
55 run: npm ci
56
57 - name: Publish Release
58 if: ${{ contains(steps.package-version.outputs.version, '-') == false }}
59 run: npm publish
60 env:
61 NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
62
63 - name: Publish Beta
64 if: ${{ contains(steps.package-version.outputs.version, 'beta') }}
65 run: npm publish --tag beta
66 env:
67 NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}