-
Notifications
You must be signed in to change notification settings - Fork 39
134 lines (131 loc) · 4.18 KB
/
pullrequest_check.yml
File metadata and controls
134 lines (131 loc) · 4.18 KB
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
name: Checks
on:
pull_request:
types:
- opened
- reopened
- synchronize
- ready_for_review
- labeled
workflow_dispatch:
jobs:
ts_and_rust_lint:
if: github.event.pull_request.draft == false && github.event.pull_request.base.ref == 'master'
runs-on: ubuntu-latest
env:
RUSTC_WRAPPER: sccache
SCCACHE_GHA_ENABLED: "true"
SCCACHE_DIR: /mnt/sccache
SCCACHE_CACHE_SIZE: "8G"
CARGO_TARGET_DIR: /mnt/target
TMPDIR: /mnt/tmp
TEMP: /mnt/tmp
TMP: /mnt/tmp
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Prepare build directories
run: |
sudo mkdir -p /mnt/target /mnt/sccache /mnt/tmp
sudo chown -R runner:runner /mnt
df -h
- name: libudev-dev
run: |
sudo apt-get update
sudo apt-get install -y libudev-dev
- name: install node
uses: actions/setup-node@master
with:
node-version: "lts/*"
- name: Set up Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
components: clippy
- name: Install cargo-binstall
uses: cargo-bins/cargo-binstall@v1.9.0
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.9
- name: Install nj-cli
run: cargo binstall nj-cli
- name: enable corepack for yarnpkg upgrade
run: corepack enable
- name: Install Build CLI tool
run: cargo install --path=cli/development-cli --locked
- name: install wasm-pack
run: cargo binstall wasm-pack
- name: JS/TS linting
timeout-minutes: 30
run: cargo chipmunk lint -u immediate
- name: TypeScript Check - Client Application
working-directory: application/client
run: yarn run check
- name: TypeScript Check - Holder Application
working-directory: application/holder
run: yarn run check
- name: TypeScript Check - Platform Application
working-directory: application/platform
run: yarn run check
integration_and_unit_tests:
if: github.event.pull_request.draft == false && github.event.pull_request.base.ref == 'master'
runs-on: ubuntu-latest
env:
RUSTC_WRAPPER: sccache
SCCACHE_GHA_ENABLED: "true"
SCCACHE_DIR: /mnt/sccache
SCCACHE_CACHE_SIZE: "8G"
CARGO_TARGET_DIR: /mnt/target
TMPDIR: /mnt/tmp
TEMP: /mnt/tmp
TMP: /mnt/tmp
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Prepare build directories
run: |
sudo mkdir -p /mnt/target /mnt/sccache /mnt/tmp
sudo chown -R runner:runner /mnt
df -h
- name: libudev-dev
run: |
sudo apt-get update
sudo apt-get install -y libudev-dev
- name: install node
uses: actions/setup-node@master
with:
node-version: "lts/*"
- name: Set up Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Install cargo-binstall
uses: cargo-bins/cargo-binstall@v1.9.0
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.9
- name: Install nj-cli
run: cargo binstall nj-cli
- name: enable corepack for yarnpkg upgrade
run: |
npm install tslib
corepack enable
- name: Install Build CLI tool
run: cargo install --path=cli/development-cli --locked
- name: install wasm-pack
run: cargo binstall wasm-pack
- name: Execute tests
timeout-minutes: 30
env:
# Environment variable is needed for snapshot testing in Rust via `insta` crate
CI: true
run: cargo chipmunk test -u immediate
- name: Execute cli tests
if: contains(github.event.pull_request.labels.*.name, 'build-cli')
timeout-minutes: 30
run: python3 integration_tests/run_all.py
working-directory: ./cli/development-cli
- name: Show sccache stats
run: sccache --show-stats || true
- name: Stop sccache
run: sccache --stop-server || true