-
Notifications
You must be signed in to change notification settings - Fork 62
131 lines (111 loc) · 4.34 KB
/
release-please.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
on:
push:
branches:
- trunk
- candidate-*
pull_request:
branches:
- trunk
- candidate-*
permissions:
contents: write
pull-requests: write
name: PR Test and Release
jobs:
release-please:
runs-on: ubuntu-latest
steps:
- name: Initialize Release Please
id: release
if: ${{ github.event_name == 'push' }}
uses: googleapis/release-please-action@v4
with:
target-branch: ${{ github.ref_name }}
token: ${{ secrets.RELEASE_PLEASE_TOKEN }}
config-file: release-please-config.json
manifest-file: .release-please-manifest.json
- name: Checkout Sources
if: ${{ github.event_name == 'pull_request' || steps.release.outputs.release_created }}
uses: actions/checkout@v4
- name: Install NodeJS
if: ${{ github.event_name == 'pull_request' || steps.release.outputs.release_created }}
uses: actions/setup-node@v4
with:
node-version: 20
registry-url: "https://registry.npmjs.org"
scope: "@hpcc-js"
- name: Install OS Dependencies
if: ${{ github.event_name == 'pull_request' || steps.release.outputs.release_created }}
run: |
pip install pandas scikit-learn
- name: Export GitHub Actions cache environment variables
if: ${{ github.event_name == 'pull_request' || steps.release.outputs.release_created }}
uses: actions/github-script@v7
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
- name: Install Dependencies
if: ${{ github.event_name == 'pull_request' || steps.release.outputs.release_created }}
run: |
npm ci
- name: Lint
if: ${{ github.event_name == 'pull_request' || steps.release.outputs.release_created }}
run: |
npm run lint
- name: Build
if: ${{ github.event_name == 'pull_request' || steps.release.outputs.release_created }}
run: |
npm run build
- name: Install Test Dependencies
if: ${{ github.event_name == 'pull_request' || steps.release.outputs.release_created }}
run: |
sudo apt-get update
sudo npx -y playwright install chromium --with-deps
npx -y playwright install chromium
wget https://github.com/hpcc-systems/HPCC-Platform/releases/download/community_9.6.50-1/hpccsystems-platform-community_9.6.50-1jammy_amd64_withsymbols.deb
- name: Install HPCC Platform
if: ${{ github.event_name == 'pull_request' || steps.release.outputs.release_created }}
continue-on-error: true
run: |
sudo apt install -f ./hpccsystems-platform-community_9.6.50-1jammy_amd64_withsymbols.deb
sudo /etc/init.d/hpcc-init start
- name: Test
if: ${{ github.event_name == 'pull_request' || steps.release.outputs.release_created }}
env:
CI: true
run: |
npm run test
# - name: Calculate Coverage
# if: ${{ steps.release.outputs.release_created }}
# run: |
# npm run coverage
# - name: Update Coveralls
# if: ${{ steps.release.outputs.release_created }}
# uses: coverallsapp/github-action@v2
# with:
# github-token: ${{ secrets.GITHUB_TOKEN }}
- name: push stamped release
if: ${{ steps.release.outputs.release_created }}
run: |
git config user.name github-actions[bot]
git config user.email 4104672+github-actions[bot]@users.noreply.github.com
git remote add gh-token "https://${{ secrets.GITHUB_TOKEN}}@github.com/yargs/yargs.git"
git commit -a -m 'chore: stamp files for release'
git push origin
- name: Publish
if: ${{ steps.release.outputs.release_created }}
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
run: |
npm run publish
# - name: Purge jsdelivr
# if: ${{ steps.release.outputs.release_created }}
# run: |
# npm run purge-jsdelivr
- name: Upload error logs
if: ${{ failure() || cancelled() }}
uses: actions/upload-artifact@v4
with:
name: all-logs
path: ./**/*.log