-
Notifications
You must be signed in to change notification settings - Fork 9
131 lines (104 loc) · 2.89 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
name: Test
on:
push:
pull_request:
jobs:
check-flake:
name: Check flake
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install nix
uses: cachix/install-nix-action@v24
with:
github_access_token: ${{ secrets.GITHUB_TOKEN }}
- name: Check flake
run: nix flake check --all-systems
test-stable:
name: Test - stable toolchain
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install nix
uses: cachix/install-nix-action@v24
with:
github_access_token: ${{ secrets.GITHUB_TOKEN }}
- name: Enable Rust cache
uses: Swatinem/rust-cache@v2
- name: Run all checks
run: |
nix develop .#ci --command bash -c "just check"
test-msrv:
name: Test - MSRV toolchain
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install nix
uses: cachix/install-nix-action@v24
with:
github_access_token: ${{ secrets.GITHUB_TOKEN }}
- name: Enable Rust cache
uses: Swatinem/rust-cache@v2
- name: Run unit tests
run: |
nix develop .#msrv --command bash -c "just test"
test-fuzz:
name: Test - fuzzer
runs-on: ubuntu-latest
needs: test-stable
strategy:
matrix:
fuzz_target:
- compile_parse_tree
- compile_text
- display_parse_tree
- parse_value_rtt
- parse_witness_json_rtt
- parse_witness_module_rtt
- reconstruct_value
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install nix
uses: cachix/install-nix-action@v24
with:
github_access_token: ${{ secrets.GITHUB_TOKEN }}
- name: Enable Rust cache
uses: Swatinem/rust-cache@v2
- name: Run fuzz target ${{ matrix.fuzz_target }}
run: |
nix develop .#fuzz --command bash -c "just fuzz ${{ matrix.fuzz_target }}"
build-integration:
name: Build - integration tests
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install nix
uses: cachix/install-nix-action@v24
with:
github_access_token: ${{ secrets.GITHUB_TOKEN }}
- name: Enable Rust cache
uses: Swatinem/rust-cache@v2
- name: Build each integration test
run: |
nix develop .#ci --command bash -c "just build_integration"
build-wasm:
name: Build - WASM
runs-on: ubuntu-latest
needs: test-stable
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install nix
uses: cachix/install-nix-action@v24
with:
github_access_token: ${{ secrets.GITHUB_TOKEN }}
- name: Enable Rust cache
uses: Swatinem/rust-cache@v2
- name: Build WASM library
run: |
nix develop .#wasm --command bash -c "just build_wasm"