-
Notifications
You must be signed in to change notification settings - Fork 38
129 lines (113 loc) · 2.83 KB
/
check.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
name: check
on:
push:
branches: [main, pre-release]
pull_request:
branches: [main, pre-release]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v2
- name: setup-zig
uses: goto-bus-stop/setup-zig@v1
with:
version: 0.13.0
- name: lint
run: |
zig fmt --check src/
zig fmt --check build.zig
unused_imports:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v3
- name: Set up Python 3.10
uses: actions/setup-python@v3
with:
python-version: "3.10"
- name: remove unused imports
run: python remove_unused.py src/
test:
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{matrix.os}}
steps:
- name: checkout
uses: actions/checkout@v2
with:
submodules: recursive
- name: setup-zig
uses: goto-bus-stop/setup-zig@v1
with:
version: 0.13.0
- name: test
run: zig build test
kcov_test:
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{matrix.os}}
steps:
- name: checkout
uses: actions/checkout@v2
with:
submodules: recursive
- name: setup-zig
uses: goto-bus-stop/setup-zig@v1
with:
version: 0.13.0
- name: Set up dependencies
run: sudo apt-get update
- name: Install kcov
run: |
sudo apt-get install -y binutils-dev libssl-dev libcurl4-openssl-dev zlib1g-dev libdw-dev libiberty-dev
git clone https://github.com/SimonKagstrom/kcov.git
cd kcov
mkdir build
cd build
cmake ..
make
sudo make install
- name: Run kcov
run: |
bash scripts/kcov_test.sh
- name: Print coverage report
run: |
python parse_kcov.py kcov-output/test/coverage.json
benchmarks:
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{matrix.os}}
steps:
- name: checkout
uses: actions/checkout@v2
with:
submodules: recursive
- name: setup-zig
uses: goto-bus-stop/setup-zig@v1
with:
version: 0.13.0
- name: benchmarks
run: zig build -Doptimize=ReleaseSafe benchmark
gossip:
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{matrix.os}}
steps:
- name: checkout
uses: actions/checkout@v2
with:
submodules: recursive
- name: setup-zig
uses: goto-bus-stop/setup-zig@v1
with:
version: 0.13.0
- name: build release
run: zig build -Doptimize=ReleaseSafe
- name: run gossip
run: bash scripts/gossip_test.sh 120 # in seconds