-
Notifications
You must be signed in to change notification settings - Fork 576
148 lines (139 loc) · 4.15 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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
name: Release
on:
release:
types:
- published
workflow_dispatch:
jobs:
setup:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.trim.outputs.version }}
steps:
- id: trim
run: echo "version=${TAG:1}" >> "$GITHUB_OUTPUT"
env:
TAG: ${{ github.event.release.tag_name }}
build:
runs-on: ubuntu-latest
needs: setup
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
cache: npm
node-version: 18
- run: npm ci
- run: npx prettier --check .
- run: npm run lint
- run: npm run build:lib
- run: npm run build:schematics
- run: npm run test:ci
- run: npm run build:prod
- run: npm run e2e
env:
CI: true
# build docs
- run: npm run build:prod -- --base-href /ng2-charts/next/
if: ${{ github.event.release.prerelease }}
- run: npm run build:prod -- --base-href /ng2-charts/
if: ${{ !github.event.release.prerelease }}
- name: Upload lib
uses: actions/upload-artifact@v4
with:
name: ng2-charts
path: dist/libs/ng2-charts
- name: Upload docs
uses: actions/upload-artifact@v4
with:
name: ng2-charts-docs
path: dist/apps/ng2-charts-demo/browser
publish-npm:
needs:
- setup
- build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
cache: npm
node-version: 18
- uses: actions/download-artifact@v4
with:
name: ng2-charts
path: dist
- name: Display structure of downloaded files
run: ls -R
working-directory: dist
- uses: JS-DevTools/npm-publish@v3
name: prerelease
if: ${{ github.event.release.prerelease }}
with:
tag: next
package: dist/package.json
token: ${{ secrets.NPM_TOKEN }}
- uses: JS-DevTools/npm-publish@v3
name: release
if: ${{ !github.event.release.prerelease }}
with:
package: dist/package.json
token: ${{ secrets.NPM_TOKEN }}
- name: Pack release
run: npm pack
working-directory: ./dist
- name: Upload NPM package file
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VERSION: ${{ needs.setup.outputs.version }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: dist/${{ format('ng2-charts-{0}.tgz', needs.setup.outputs.version) }}
asset_name: ${{ format('ng2-charts-{0}.tgz', needs.setup.outputs.version) }}
asset_content_type: application/gzip
publish-docs:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: 'gh-pages'
fetch-depth: 0
- uses: actions/download-artifact@v4
if: ${{ github.event.release.prerelease }}
with:
name: ng2-charts-docs
path: next
- uses: actions/download-artifact@v4
if: ${{ !github.event.release.prerelease }}
with:
name: ng2-charts-docs
- run: |
git config --local user.email ${GITHUB_ACTOR}@users.noreply.github.com
git config --local user.name $GITHUB_ACTOR
git add -A
git commit -m "ci: gh-pages update"
continue-on-error: true
- name: push to gh-pages
uses: ad-m/[email protected]
continue-on-error: true
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: 'gh-pages'
version-bump:
needs: publish-docs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: 'master'
- run: npm version patch
working-directory: ./libs/ng2-charts
- run: |
git config --local user.email ${GITHUB_ACTOR}@users.noreply.github.com
git config --local user.name $GITHUB_ACTOR
git add -A
git commit -m "ci: bump to next dev version"
git push
continue-on-error: true