-
Notifications
You must be signed in to change notification settings - Fork 104
140 lines (135 loc) · 3.91 KB
/
parachain.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
name: parachain
on:
push:
paths:
- "parachain/**"
- "!parachain/README.md"
- "!parachain/LICENSE"
branches:
- main
pull_request:
paths:
- "parachain/**"
- "!parachain/README.md"
- "!parachain/LICENSE"
workflow_dispatch:
jobs:
check:
runs-on: snowbridge-runner
env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: 1
RUSTFLAGS: -C debuginfo=1
SKIP_WASM_BUILD: 1
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v1
with:
path: |
~/.cargo/registry
~/.cargo/git
key: ${{ runner.os }}-cargo-${{ hashFiles('parachain/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: setup rust toolchain
run: rustup show
- name: cargo check
run: >
cargo check
--manifest-path parachain/Cargo.toml
--workspace
--features runtime-benchmarks
test:
needs: check
runs-on: snowbridge-runner
env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: 1
RUSTFLAGS: -C debuginfo=1
SKIP_WASM_BUILD: 1
steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.head_ref }}
- uses: actions/cache@v1
with:
path: |
~/.cargo/registry
~/.cargo/git
key: ${{ runner.os }}-cargo-${{ hashFiles('parachain/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: setup rust toolchain
run: rustup show
# Increase stack limit for beacon light client tests
- run: sudo prlimit --pid $$ --stack=32768
# Run tests for everything except the beacon light client
- name: Tests for everything except the beacon light client
run: >
cargo test
--manifest-path parachain/Cargo.toml
--workspace
--features runtime-benchmarks
--exclude snowbridge-query-events
--exclude snowbridge-ethereum-beacon-client
# Run tests for beacon light client, excluding benchmark tests
- name: Tests for beacon light client excluding benchmark tests
run: >
cargo test
--manifest-path parachain/Cargo.toml
--package snowbridge-ethereum-beacon-client
# Run benchmark tests for beacon light client
- name: Benchmark tests for beacon light client
run: >
cargo test
--manifest-path parachain/Cargo.toml
--release
--features runtime-benchmarks
--package snowbridge-ethereum-beacon-client
coverage:
needs: check
runs-on: snowbridge-runner
env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: 1
RUSTFLAGS: -C debuginfo=1
SKIP_WASM_BUILD: 1
steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.head_ref }}
- name: setup rust toolchain
run: rustup show
- name: run coverage test
run: >
cargo install cargo-tarpaulin &&
cargo tarpaulin
--manifest-path parachain/Cargo.toml
--workspace
--engine llvm
--out Xml
--exclude substrate-call-index
--exclude snowbridge-query-events
- name: Upload coverage reports to Codecov with GitHub Action
uses: codecov/codecov-action@v3
with:
working-directory: parachain
files: cobertura.xml
flags: rust
check-cumulus-bridgehub:
runs-on: snowbridge-runner
steps:
- uses: actions/checkout@v2
with:
submodules: 'true'
- uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: setup rust toolchain
run: rustup show
- name: check bridge-hub runtime
run: >
cargo check
--manifest-path cumulus/Cargo.toml
--release --verbose
--package bridge-hub-rococo-runtime