forked from valor-software/ngx-bootstrap
-
Notifications
You must be signed in to change notification settings - Fork 0
130 lines (120 loc) · 3.53 KB
/
on-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
name: on-release
on:
push:
tags:
- bs3*
env:
NX_BRANCH: ${{ github.event.number }}
NX_RUN_GROUP: ${{ github.run_id }}
NX_CLOUD_AUTH_TOKEN: ${{ secrets.NX_CLOUD_AUTH_TOKEN }}
MOZ_HEADLESS: 1
CONVENTIONAL_GITHUB_RELEASER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
# one run
one_run:
runs-on: ubuntu-latest
steps:
- name: Cancel Previous Runs
uses: styfle/[email protected]
with:
access_token: ${{ secrets.GITHUB_TOKEN }}
# install dependencies
install:
runs-on: ubuntu-latest
needs: one_run
steps:
- uses: actions/[email protected]
- uses: actions/[email protected]
id: cache
with:
path: node_modules
key: node_modules-${{ hashFiles('**/package-lock.json') }}
- run: npm ci
if: steps.cache.outputs.cache-hit != 'true'
# build ngx-bootstrap
build:
needs: install
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- uses: actions/[email protected]
with:
path: node_modules
key: node_modules-${{ hashFiles('**/package-lock.json') }}
- uses: actions/[email protected]
with:
path: dist
key: dist-${{ github.run_id }}
- run: |
npx nx build ngx-bootstrap --runner=cloud --configuration=production
npx ng build --runner=cloud --configuration=production
# update release notes in github
# update_release_draft:
# needs: install
# runs-on: ubuntu-latest
# steps:
# - uses: actions/[email protected]
# - uses: actions/[email protected]
# with:
# path: node_modules
# key: node_modules-${{ hashFiles('**/package-lock.json') }}
# - run: npm run release
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# update gh_pages
gh_pages_deploy:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/[email protected]
- uses: actions/[email protected]
with:
ref: 'gh-pages'
path: 'gh-pages'
- uses: actions/[email protected]
with:
path: node_modules
key: node_modules-${{ hashFiles('**/package-lock.json') }}
- uses: actions/[email protected]
with:
path: dist
key: dist-${{ github.run_id }}
# - run: npm run scully
- run: npx ts-node ./scripts/gh-pages-predeploy.ts
- run: |
cd gh-pages
git config user.email gh-actions-${GITHUB_ACTOR}@github.com
git config user.name $GITHUB_ACTOR
git add -A
git commit -am "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'
directory: 'gh-pages'
# publish package to another branch
npm_publish:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/[email protected]
- uses: actions/[email protected]
with:
path: node_modules
key: node_modules-${{ hashFiles('**/package-lock.json') }}
- uses: actions/[email protected]
with:
path: dist
key: dist-${{ github.run_id }}
# Deploy to local repo
# see: https://github.com/marketplace/actions/push-git-subdirectory-as-branch
- name: Deploy
uses: s0/git-publish-subdir-action@develop
env:
REPO: self
BRANCH: dist
FOLDER: dist
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}