-
Notifications
You must be signed in to change notification settings - Fork 28
81 lines (76 loc) · 2.64 KB
/
fsanitize-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
name: fsanitize check test
on:
push:
branches: [ '*' ]
pull_request:
branches: [ '*' ]
jobs:
build_wolfssl:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest ]
config: [
# Add new configs here and make wolfclu matrix match
'--enable-wolfclu',
'--enable-wolfclu --enable-crl --enable-dsa --enable-pkcs7',
'--enable-wolfclu --enable-smallstack',
'--enable-wolfclu --enable-experimental --enable-dilithium',
'--enable-wolfclu --enable-smallstack --enable-experimental --enable-dilithium',
]
name: Build wolfssl
runs-on: ${{ matrix.os }}
timeout-minutes: 4
steps:
- name: Checking cache for wolfssl
uses: actions/cache@v4
id: cache-wolfssl
with:
path: build-dir/
key: wolfclu-fsanitize-check-wolfssl-${{ strategy.job-index }}-${{ matrix.os }}
lookup-only: true
- name: Checkout, build, and install wolfssl
if: steps.cache-wolfssl.outputs.cache-hit != 'true'
uses: wolfSSL/actions-build-autotools-project@v1
with:
repository: wolfssl/wolfssl
ref: master
path: wolfssl
configure: ${{ matrix.config }} CC="gcc -fsanitize=address"
check: false
install: true
build_wolfclu:
needs: build_wolfssl
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest ]
config: [
'--enable-wolfclu',
'--enable-wolfclu --enable-crl --enable-dsa --enable-pkcs7',
'--enable-wolfclu --enable-smallstack',
'--enable-wolfclu --enable-experimental --enable-dilithium',
'--enable-wolfclu --enable-smallstack --enable-experimental --enable-dilithium',
]
name: Build wolfclu
runs-on: ${{ matrix.os }}
timeout-minutes: 4
steps:
- name: Checking cache for wolfssl
uses: actions/cache@v4
with:
path: build-dir/
key: wolfclu-fsanitize-check-wolfssl-${{ strategy.job-index }}-${{ matrix.os }}
fail-on-cache-miss: true
- name: Checkout, build, and test wolfclu
uses: wolfSSL/actions-build-autotools-project@v1
env:
LD_LIBRARY_PATH: ${{ github.workspace }}/build-dir/lib
with:
repository: wolfssl/wolfclu
path: wolfclu
configure: CC="gcc -fsanitize=address" LDFLAGS="-L${{ github.workspace }}/build-dir/lib" CPPFLAGS="-I${{ github.workspace }}/build-dir/include"
check: true
- name: display log
if: always()
run: if [ -f test-suite.log ]; then cat test-suite.log; else echo "No test log"; fi