forked from zhaozg/lua-openssl
-
Notifications
You must be signed in to change notification settings - Fork 0
131 lines (124 loc) · 3.53 KB
/
check.yml
File metadata and controls
131 lines (124 loc) · 3.53 KB
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: Check
on: [push, pull_request]
jobs:
Coverage:
# look at https://github.com/eddyxu/cpp-coveralls
runs-on: ubuntu-latest
strategy:
matrix:
openssl_version: [openssl-1.0.2u, openssl-1.1.1w, openssl-3.0.18, openssl-3.5.4]
env:
COVERALLS_GIT_BRANCH: "${{ github.ref }}"
COVERALLS_REPO_TOKEN: "${{ secrets.COVERALLS_TOKEN }}"
WITH_LUA_ENGINE: LuaJIT
LUA: luajit2.1
LUAROCKS: 3.12.0
SSL: ${{ matrix.openssl_version }}
COVERALLS_PARALLEL: ON
COVERALLS_SERVICE_NAME: github
TRAVIS_JOB_ID: ${{ github.run_id }}
steps:
- uses: actions/checkout@v4
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'
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-latest
steps:
- uses: actions/checkout@v4
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.12.0
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: run
run: |
.github/shell/setup_lua.sh
export PATH=$HOME/.usr/bin:$PATH
$HOME/.usr/bin/luarocks install lpeg
$HOME/.usr/bin/luarocks install ldoc
eval $($HOME/.usr/bin/luarocks path)
$HOME/.usr/bin/luajit .github/shell/analyze_ldoc.lua src
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@v4
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-latest
continue-on-error: true # FIXME: OpenSSL-3
env:
CC: clang
CXX: clang++
TSAN_OPTIONS: atexit_sleep_ms=2000 flush_memory_ms=2000
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: depends
run: sudo apt update && sudo apt install -y luajit libluajit-5.1-dev
- name: Test
run: make tsan
CMake:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: depends
run: sudo apt update && sudo apt install -y luajit libluajit-5.1-dev libssl-dev
- name: Configure
run: cmake -B build -S .
- name: Build
run: cmake --build build
- name: Test
run: cd test && LUA_CPATH=../build/?.so luajit test.lua -v