-
Notifications
You must be signed in to change notification settings - Fork 0
133 lines (119 loc) · 3.09 KB
/
release.yml
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
name: Release
on:
workflow_dispatch:
inputs:
version:
description: Release type
required: false
type: choice
default: patch
options:
- major
- minor
- patch
- premajor
- preminor
- prepatch
- prerelease
preid:
description: Pre-id
required: false
type: choice
options:
- ''
- dev
- alpha
- beta
- rc
jobs:
audit:
name: Audit
uses: ./.github/workflows/audit.yml
biome:
name: Format, Lint & Organize Import
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npx @biomejs/biome ci --reporter github
shell: bash
test:
needs:
- audit
- biome
runs-on: ubuntu-latest
strategy:
matrix:
node-version:
- 20.x
- 22.x
steps:
- uses: actions/checkout@v4
- name: Test - Core
uses: ./.github/workflows/actions/test
with:
package: core
node-version: ${{ matrix.node-version }}
build-core:
name: Build - Core
needs:
- test
uses: ./.github/workflows/build-core.yml
build-vue:
name: Build - Vue
needs:
- test
uses: ./.github/workflows/build-vue.yml
publish:
needs:
- build-core
- build-vue
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Git
run: |
git config user.name "Cheese Grinder CI"
git config user.email "<>"
- uses: actions/setup-node@v4
with:
node-version: 22.x
registry-url: https://registry.npmjs.org/
- name: Bump version
id: bump
uses: ./.github/workflows/actions/bump
with:
version: ${{ inputs.version }}
preid: ${{ inputs.preid }}
- name: Publish Core
run: |
npm run build -w @poppy-ui/core
npm publish -w @poppy-ui/core
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Publish Docs
run: |
npm publish
working-directory: packages/docs
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Upgrade - Vue
run: |
npm uninstall @poppy-ui/core -w @poppy-ui/vue
npm uninstall @poppy-ui/docs -w @poppy-ui/vue
npm install @poppy-ui/core@${{ steps.bump.outputs.version }} -w @poppy-ui/vue
npm install -D @poppy-ui/docs@${{ steps.bump.outputs.version }} -w @poppy-ui/vue
- name: Publish Vue
run: |
npm run build
npm publish
working-directory: packages/vue
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
# Push only if the package as been published on registry
- name: Commit & Tag
run: |
git add .
git commit -m 'ci(version): bump to ${{ steps.bump.outputs.version }}'
git push
git tag ${{ steps.bump.outputs.version }}
git push origin tag ${{ steps.bump.outputs.version }}