-
Notifications
You must be signed in to change notification settings - Fork 5
100 lines (79 loc) · 2.62 KB
/
ci-js.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
name: 'CI-CD sails-js'
on:
pull_request:
types: [opened, synchronize, reopened, labeled]
branches: [master]
paths-ignore:
- 'net/**'
- 'Sails.Net.sln'
push:
branches: [master]
paths:
- js/**
workflow_dispatch:
env:
BINARYEN_VERSION: version_111
jobs:
test:
if: github.event_name == 'pull_request'
runs-on: ubuntu-22.04
env:
RUSTUP_HOME: /tmp/rustup_home
steps:
- name: Cancel previous workflow runs
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- name: Checkout
uses: actions/checkout@v4
- name: 'Install: NodeJS 20.x'
uses: actions/setup-node@v4
with:
node-version: 20.x
- name: 'Install: dependencies'
run: yarn install
- name: 'Install: binaryen'
working-directory: /usr
run: |
sudo wget -c https://github.com/WebAssembly/binaryen/releases/download/$BINARYEN_VERSION/binaryen-$BINARYEN_VERSION-x86_64-linux.tar.gz -O - | sudo tar -xz -C .
sudo cp binaryen-$BINARYEN_VERSION/bin/wasm-opt /usr/bin/
- name: 'Prepare: build all'
run: yarn build
- name: 'Prepare: fmt'
run: yarn lint
- name: 'Prepare: download Gear node'
run: |
wget -O ./gear https://github.com/gear-tech/gear/releases/download/v1.5.0-1/gear
chmod +x gear
- name: 'Prepare: run Gear node'
run: nohup ./gear --dev --execution=wasm --tmp --unsafe-rpc-external --rpc-methods Unsafe --rpc-cors all &
- name: 'Prepare: sleep 3 min'
run: sleep 180
- name: 'Test: run'
run: yarn test
publish-to-npm:
if: github.event_name == 'push'
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use node 20.x
uses: actions/setup-node@v4
with:
node-version: 20.x
- name: 'Prepare: install dependencies'
run: yarn install
- name: 'Install: binaryen'
working-directory: /usr
run: |
sudo wget -c https://github.com/WebAssembly/binaryen/releases/download/$BINARYEN_VERSION/binaryen-$BINARYEN_VERSION-x86_64-linux.tar.gz -O - | sudo tar -xz -C .
sudo cp binaryen-$BINARYEN_VERSION/bin/wasm-opt /usr/bin/
- name: 'Prepare: build all'
run: yarn build
- name: Publish
run: |
export token=$(printenv npm_token)
echo "//registry.npmjs.org/:_authToken=$token" > .npmrc
npx lerna publish from-package --yes --no-private
env:
npm_token: ${{ secrets.NPM_TOKEN }}