-
Notifications
You must be signed in to change notification settings - Fork 575
156 lines (146 loc) · 4.38 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
149
150
151
152
153
154
155
156
name: Release
on:
release:
types:
- published
workflow_dispatch:
env:
CACHE_NODE_MODULES_PATH: |
~/.npm
node_modules
jobs:
setup:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.trim.outputs.version }}
steps:
- id: trim
run: echo "::set-output name=version::${TAG:1}"
env:
TAG: ${{ github.event.release.tag_name }}
build:
runs-on: ubuntu-latest
needs: setup
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
cache: npm
node-version: 18
- uses: actions/cache@v3
id: cache
with:
path: ${{ env.CACHE_NODE_MODULES_PATH }}
key: node_modules-${{ hashFiles('**/package-lock.json') }}
- run: npm ci
if: steps.cache.outputs.cache-hit != 'true'
- run: npm run build:lib
- run: npm run build:schematics
- run: npm run test:schematics
- run: npm run test:ci
continue-on-error: true
- run: npm run e2e:ci
# 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@v3
with:
name: ng2-charts
path: dist/libs/ng2-charts
- name: Upload docs
uses: actions/upload-artifact@v3
with:
name: ng2-charts-docs
path: dist/apps/ng2-charts-demo
publish-npm:
needs:
- setup
- build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
cache: npm
node-version: 18
- uses: actions/download-artifact@v3
with:
name: ng2-charts
path: dist
- name: Display structure of downloaded files
run: ls -R
working-directory: dist
- uses: JS-DevTools/npm-publish@v1
name: prerelease
if: ${{ github.event.release.prerelease }}
with:
tag: next
package: dist/package.json
token: ${{ secrets.NPM_TOKEN }}
- uses: JS-DevTools/npm-publish@v1
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@v3
with:
ref: 'gh-pages'
fetch-depth: 0
- uses: actions/download-artifact@v3
if: ${{ github.event.release.prerelease }}
with:
name: ng2-charts-docs
path: next
- uses: actions/download-artifact@v3
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@v3
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