-
Notifications
You must be signed in to change notification settings - Fork 116
115 lines (109 loc) · 3.06 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
name: Check
on: [push, pull_request]
jobs:
Coverage:
# look at https://github.com/eddyxu/cpp-coveralls
runs-on: ubuntu-20.04
strategy:
matrix:
openssl_version: [openssl-1.0.2u, openssl-1.1.1v, openssl-3.0.10, openssl-3.1.2]
env:
COVERALLS_GIT_BRANCH: "${{ github.ref }}"
COVERALLS_REPO_TOKEN: "${{ secrets.COVERALLS_TOKEN }}"
WITH_LUA_ENGINE: LuaJIT
LUA: luajit2.1
LUAROCKS: 3.8.0
SSL: ${{ matrix.openssl_version }}
COVERALLS_PARALLEL: ON
COVERALLS_SERVICE_NAME: github
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: cpp-coveralls
run: pip install cpp-coveralls PyYAML
- name: depends
run: sudo apt update && sudo apt install -y libuv1-dev
- name: setup
run:
.github/shell/setup_lua.sh && .github/shell/setup_ssl.sh
- name: run
run: |
export PATH=$HOME/.usr/bin:$PATH
$HOME/.usr/bin/luarocks install luv
ln -s $HOME/.usr/lib/lua/5.1/luv.so
export PKG_CONFIG_PATH=$HOME/.usr/lib/pkgconfig
export LD_LIBRARY_PATH=$HOME/.usr/lib
make coveralls
coveralls -b . -i src --gcov-options '\-lp'
# - name: Send coverage to Coveralls (parallel)
# uses: coverallsapp/github-action@v1
# with:
# parallel: true
# base-path: src
# flag-name: run-${{ matrix.openssl_version }}
finish:
needs: Coverage
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: Close parallel build
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.COVERALLS_TOKEN }}
parallel-finished: true
Valgrind:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: depends
run: sudo apt update && sudo apt install -y luajit libluajit-5.1-dev valgrind
- name: run
run: make valgrind
Document:
runs-on: ubuntu-latest
env:
WITH_LUA_ENGINE: LuaJIT
LUA: luajit2.1
LUAROCKS: 3.8.0
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: run
run: |
.github/shell/setup_lua.sh
export PATH=$HOME/.usr/bin:$PATH
$HOME/.usr/bin/luarocks install ldoc
make doc
clang-asan:
runs-on: ubuntu-latest
env:
ASAN_OPTIONS: detect_leaks=1:check_initialization_order=1
UBSAN_OPTIONS: print_stacktrace=1
CC: clang
CXX: clang++
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: depends
run: sudo apt update && sudo apt install -y luajit libluajit-5.1-dev
- name: Test
run: make asan
clang-tsan:
runs-on: ubuntu-20.04
env:
CC: clang
CXX: clang++
TSAN_OPTIONS: atexit_sleep_ms=2000 flush_memory_ms=2000
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: depends
run: sudo apt update && sudo apt install -y luajit libluajit-5.1-dev
- name: Test
run: make tsan