-
Notifications
You must be signed in to change notification settings - Fork 528
141 lines (140 loc) · 4.07 KB
/
test.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
# generate by yq eval 'explode(.)' test.yml.src > test.yml
# https://github.com/mikefarah/yq
name: Test
on:
pull_request:
branches:
- master
- release-**
paths-ignore:
- '**/README.md'
push:
branches:
- master
- release-**
paths-ignore:
- '**/README.md'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: [self-hosted, linux]
env:
CARGO_INCREMENTAL: 0
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Install toolchain
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v1.13
- name: Check format
run: cargo +nightly fmt --all -- --check
- name: Build
run: make build-all
- name: Run mandala-runtime clippy
run: cargo clippy --features with-mandala-runtime -- -D warnings
- name: Run karura-runtime clippy
run: cargo clippy --features with-karura-runtime -- -D warnings
- name: Run acala-runtime clippy
run: cargo clippy --features with-acala-runtime -- -D warnings
- name: Run build benches
run: make build-benches
benchmarking:
runs-on: [self-hosted, linux]
env:
CARGO_INCREMENTAL: 0
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Install toolchain
uses: dtolnay/rust-toolchain@nightly
- name: Install cargo-nextest
uses: taiki-e/install-action@nextest
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v1.13
- name: Run benchmarking tests
run: make test-benchmarking
checks-and-tests:
runs-on: [self-hosted, linux]
env:
CARGO_INCREMENTAL: 0
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Install toolchain
uses: dtolnay/rust-toolchain@nightly
- name: Install cargo-nextest
uses: taiki-e/install-action@nextest
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v1.13
- name: Run runtime tests
run: make test-runtimes
- name: Run eth tests
run: make test-eth
- name: Check benchmarks
run: make check-benchmarks
- name: Check try-runtime
run: make check-try-runtime
- name: Check runtimes
run: make check-runtimes
e2e-tests:
runs-on: [self-hosted, linux]
env:
CARGO_INCREMENTAL: 0
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Install toolchain
uses: dtolnay/rust-toolchain@nightly
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v1.13
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Install deps
run: cargo install staging-chain-spec-builder
- name: Run ts tests
run: |
npm install -g yarn
make test-ts