-
Notifications
You must be signed in to change notification settings - Fork 0
71 lines (63 loc) · 2.12 KB
/
build-publish.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
name: 'Publish NPM Package'
on:
push:
branches: ['*']
tags-ignore: ['*']
pull_request:
permissions:
contents: 'read'
jobs:
build:
runs-on: 'ubuntu-latest'
steps:
- name: 'Setup node 🛎️'
uses: 'dudeofawesome/actions/node-setup@a850bdff4354bdb891a86116f0378f8a890e2c16' # v1
- name: 'Build 🏗️'
run: 'npm run build'
lint:
runs-on: 'ubuntu-latest'
steps:
- name: 'Setup node 🛎️'
uses: 'dudeofawesome/actions/node-setup@a850bdff4354bdb891a86116f0378f8a890e2c16' # v1
- name: 'Lint 🧪'
run: 'npm run lint'
test:
runs-on: 'ubuntu-latest'
steps:
- name: 'Setup node 🛎️'
uses: 'dudeofawesome/actions/node-setup@a850bdff4354bdb891a86116f0378f8a890e2c16' # v1
- name: 'Test 🧪'
run: 'npm run test'
publish:
runs-on: 'ubuntu-latest'
environment: 'production'
permissions:
id-token: 'write'
packages: 'write'
contents: 'write'
needs:
- 'build'
- 'lint'
- 'test'
steps:
- name: 'Setup node 🛎️'
uses: 'dudeofawesome/actions/node-setup@a850bdff4354bdb891a86116f0378f8a890e2c16' # v1
with:
install-modules: false
- name: 'Publish to NPM 🚀'
env:
NODE_AUTH_TOKEN: '${{ secrets.NPM_AUTH_TOKEN }}'
uses: 'dudeofawesome/actions/npm-publish@a850bdff4354bdb891a86116f0378f8a890e2c16' # v1
- name: 'Get package version 🔖'
id: 'get-package-version'
run: 'echo "version=v$(npm pkg get version | jq --raw-output)" >> "$GITHUB_OUTPUT"'
- name: 'Build jsonschema 🏗️'
run: 'npm run build:jsonschema --workspace packages/code-style'
- name: 'Publish files to Github Releases 🚀'
uses: 'softprops/action-gh-release@9d7c94cfd0a1f3ed45544c887983e9fa900f0564' # v2
with:
tag_name: '${{ steps.get-package-version.outputs.version }}'
prerelease: "${{ contains(steps.get-package-version.outputs.version, '-') }}"
generate_release_notes: true
files: |
packages/code-style/codestylerc.schema.json