]> git.ipfire.org Git - thirdparty/openssl.git/blame - .github/workflows/ci.yml
Add a CI job to run the threads test with threads sanitizer on
[thirdparty/openssl.git] / .github / workflows / ci.yml
CommitLineData
9524a308
MC
1name: GitHub CI
2
4159ebca 3on: [pull_request, push]
9524a308 4
ae290d8f
DDO
5# for some reason, this does not work:
6# variables:
7# BUILDOPTS: "-j4"
8# HARNESS_JOBS: "${HARNESS_JOBS:-4}"
9
10# for some reason, this does not work:
11# before_script:
12# - make="make -s"
13
9524a308 14jobs:
8175476b
RL
15 check_update:
16 runs-on: ubuntu-latest
17 steps:
18 - uses: actions/checkout@v2
19 - name: config
20 run: ./config --strict-warnings && perl configdata.pm --dump
21 - name: make build_generated
22 run: make -s build_generated
23 - name: make update
24 run: make -s update
25 - name: git diff
26 run: git diff --exit-code
27
28 check_docs:
29 runs-on: ubuntu-latest
30 steps:
31 - uses: actions/checkout@v2
32 - name: config
33 run: ./config --strict-warnings && perl configdata.pm --dump
34 - name: make build_generated
35 run: make -s build_generated
36 - name: make doc-nits
37 run: make doc-nits
38
9524a308
MC
39 basic_gcc:
40 runs-on: ubuntu-latest
41 steps:
42 - uses: actions/checkout@v2
43 - name: config
6a7848bc 44 run: ./config --strict-warnings && perl configdata.pm --dump
9524a308 45 - name: make
ae290d8f 46 run: make -s -j4
9524a308 47 - name: make test
ae290d8f 48 run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
9524a308
MC
49
50 basic_clang:
51 runs-on: ubuntu-latest
52 steps:
53 - uses: actions/checkout@v2
54 - name: config
6a7848bc 55 run: CC=clang ./config --strict-warnings && perl configdata.pm --dump
9524a308 56 - name: make
ae290d8f 57 run: make -s -j4
9524a308 58 - name: make test
ae290d8f 59 run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
9524a308
MC
60
61 minimal:
62 runs-on: ubuntu-latest
63 steps:
64 - uses: actions/checkout@v2
65 - name: config
06f81af8 66 run: ./config --strict-warnings no-bulk no-pic no-asm -DOPENSSL_NO_SECURE_MEMORY -DOPENSSL_SMALL_FOOTPRINT && perl configdata.pm --dump
9524a308 67 - name: make
ae290d8f 68 run: make -s -j4
9524a308 69 - name: make test
ae290d8f 70 run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
9524a308 71
e3577add
RL
72 no-deprecated:
73 runs-on: ubuntu-latest
74 steps:
75 - uses: actions/checkout@v2
76 - name: config
77 run: ./config --strict-warnings no-deprecated && perl configdata.pm --dump
78 - name: make
79 run: make -s -j4
80 - name: make test
81 run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
82
9524a308
MC
83 sanitizers:
84 runs-on: ubuntu-latest
85 steps:
86 - uses: actions/checkout@v2
87 - name: config
a67c7010 88 run: ./config --debug enable-asan enable-ubsan enable-rc5 enable-md2 enable-ec_nistp_64_gcc_128 && perl configdata.pm --dump
9524a308 89 - name: make
ae290d8f 90 run: make -s -j4
9524a308 91 - name: make test
ae290d8f 92 run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} OPENSSL_TEST_RAND_ORDER=0
9524a308 93
f94a9169
MC
94 threads_sanitizer:
95 runs-on: ubuntu-latest
96 steps:
97 - uses: actions/checkout@v2
98 - name: config
99 run: CC=clang ./config --strict-warnings -fsanitize=thread && perl configdata.pm --dump
100 - name: make
101 run: make -s -j4
102 - name: make test
103 run: make TESTS=test_threads test HARNESS_JOBS=${HARNESS_JOBS:-4}
104
9524a308
MC
105 enable_non-default_options:
106 runs-on: ubuntu-latest
107 steps:
108 - uses: actions/checkout@v2
109 - name: config
6a7848bc 110 run: ./config --strict-warnings no-ec enable-ssl-trace enable-zlib enable-zlib-dynamic enable-crypto-mdebug enable-crypto-mdebug-backtrace enable-egd && perl configdata.pm --dump
9524a308 111 - name: make
ae290d8f 112 run: make -s -j4
9524a308 113 - name: make test
ae290d8f 114 run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
9524a308 115
a67c7010 116 legacy:
9524a308
MC
117 runs-on: ubuntu-latest
118 steps:
119 - uses: actions/checkout@v2
120 - name: config
adcaebc3 121 run: ./config -Werror --debug no-afalgeng no-shared enable-crypto-mdebug enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers enable-zlib enable-ec_nistp_64_gcc_128 && perl configdata.pm --dump
9524a308 122 - name: make
ae290d8f 123 run: make -s -j4
9524a308 124 - name: make test
ae290d8f 125 run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
9524a308
MC
126
127 buildtest:
128 runs-on: ubuntu-latest
129 steps:
130 - uses: actions/checkout@v2
131 - name: config
6a7848bc 132 run: ./config no-asm no-makedepend enable-buildtest-c++ --strict-warnings -D_DEFAULT_SOURCE && perl configdata.pm --dump
9524a308 133 - name: make
ae290d8f 134 run: make -s -j4
9524a308 135 - name: make test
ae290d8f 136 run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
4605b34d
RL
137
138 out-of-source-and-install:
139 runs-on: ubuntu-latest
140 steps:
141 - uses: actions/checkout@v2
142 - name: extra preparations
143 run: |
144 mkdir ./build
145 mkdir ./install
146 - name: config
147 run: ../config --strict-warnings --prefix=$(cd ../install; pwd) && perl configdata.pm --dump
148 working-directory: ./build
149 - name: make
150 run: make -s -j4
151 working-directory: ./build
152 - name: make test
153 run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
154 working-directory: ./build
155 - name: make install
156 run: make install
157 working-directory: ./build