build(deps-dev): bump @typescript-eslint/eslint-plugin
[poolifier.git] / .github / workflows / publish-package.yml
CommitLineData
f1c674cd 1name: Publish package
11caf266
APA
2
3on:
4 release:
5 types: [created]
6
7jobs:
8 build:
9 runs-on: ubuntu-latest
515e5da7 10
11caf266 11 steps:
515e5da7 12 - name: Checkout
b358d1ac 13 uses: actions/checkout@v4
515e5da7 14
4c156521
JB
15 - name: Setup pnpm
16 uses: pnpm/action-setup@v2
17 with:
18 version: 8
19
8ea47589 20 - name: Setup Node.js
b8497a0a 21 uses: actions/setup-node@v3
11caf266 22 with:
277c49bf 23 node-version: '20.x'
4c156521 24 cache: 'pnpm'
e0d233a8 25
f1c674cd 26 - name: Install Dependencies
c1a37d98 27 run: pnpm install --ignore-scripts --frozen-lockfile
e0d233a8 28
4b85ba43
JB
29 - name: Tests & Coverage
30 run: |
4c156521
JB
31 pnpm test
32 pnpm coverage
11caf266 33
73db65c0 34 - name: Lint
4c156521 35 run: pnpm lint
73db65c0 36
4b85ba43 37 - name: Production Build
4c156521 38 run: pnpm build:prod
4b85ba43 39
cf523f68 40 publish-npm:
90bd5e47 41 needs: build
42 runs-on: ubuntu-latest
43
44 steps:
45 - name: Checkout
b358d1ac 46 uses: actions/checkout@v4
90bd5e47 47
4c156521
JB
48 - name: Setup pnpm
49 uses: pnpm/action-setup@v2
50 with:
51 version: 8
52
8ea47589 53 - name: Setup Node.js
b8497a0a 54 uses: actions/setup-node@v3
11caf266 55 with:
277c49bf 56 node-version: '20.x'
11caf266 57 registry-url: https://registry.npmjs.org/
4c156521 58 cache: 'pnpm'
515e5da7 59
f1c674cd 60 - name: Install Dependencies
c1a37d98 61 run: pnpm install --ignore-scripts --frozen-lockfile
53e40a19 62
5716dd56 63 - name: Read package.json version
5716dd56 64 id: package-version
8fddc4b9 65 uses: jaywcjlove/github-action-package@main
5716dd56 66
5716dd56
S
67 - name: Publish Release
68 if: ${{ contains(steps.package-version.outputs.version, '-') == false }}
a454d573 69 run: pnpm publish --no-git-checks
11caf266 70 env:
74aeaae0 71 NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
5716dd56 72
17c90274 73 - name: Publish Pre-Release
04805b54 74 if: ${{ contains(steps.package-version.outputs.version, '-') == true && contains(steps.package-version.outputs.version, '-beta') == false }}
a454d573 75 run: pnpm publish --no-git-checks --tag next
5716dd56 76 env:
74aeaae0 77 NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
17c90274 78
8ea47589
JB
79 - name: Publish Beta Release
80 if: ${{ contains(steps.package-version.outputs.version, '-beta') == true }}
81 run: pnpm publish --no-git-checks --tag beta
82 env:
83 NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
cf523f68 84
aaf31914
JB
85 # publish-gpr:
86 # needs: build
87 # runs-on: ubuntu-latest
88 # permissions:
89 # contents: read
90 # packages: write
91
92 # steps:
93 # - name: Checkout
94 # uses: actions/checkout@v4
95
96 # - name: Setup pnpm
97 # uses: pnpm/action-setup@v2
98 # with:
99 # version: 8
100
101 # - name: Setup Node.js
102 # uses: actions/setup-node@v3
103 # with:
277c49bf 104 # node-version: '20.x'
aaf31914
JB
105 # registry-url: https://npm.pkg.github.com
106 # cache: 'pnpm'
107
f1c674cd 108 # - name: Install Dependencies
c1a37d98 109 # run: pnpm install --ignore-scripts --frozen-lockfile
aaf31914
JB
110
111 # - name: Read package.json version
112 # id: package-version
113 # uses: jaywcjlove/github-action-package@main
114
115 # - name: Publish Release
116 # if: ${{ contains(steps.package-version.outputs.version, '-') == false }}
117 # run: pnpm publish --no-git-checks
118 # env:
119 # NODE_AUTH_TOKEN: ${{ secrets.GPR_TOKEN }}
120
121 # - name: Publish Pre-Release
122 # if: ${{ contains(steps.package-version.outputs.version, '-') == true && contains(steps.package-version.outputs.version, '-beta') == false }}
123 # run: pnpm publish --no-git-checks --tag next
124 # env:
125 # NODE_AUTH_TOKEN: ${{ secrets.GPR_TOKEN }}
126
127 # - name: Publish Beta Release
128 # if: ${{ contains(steps.package-version.outputs.version, '-beta') == true }}
129 # run: pnpm publish --no-git-checks --tag beta
130 # env:
131 # NODE_AUTH_TOKEN: ${{ secrets.GPR_TOKEN }}