Github CI: run also on repository pushes
[openssl.git] / .github / workflows / ci.yml
1 name: GitHub CI
2
3 on: [pull_request, push]
4
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
14 jobs:
15   basic_gcc:
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
22       run: make -s -j4
23     - name: make test
24       run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
25     - name: make doc-nits
26       run: make doc-nits
27
28   basic_clang:
29     runs-on: ubuntu-latest
30     steps:
31     - uses: actions/checkout@v2
32     - name: config
33       run: CC=clang ./config --strict-warnings && perl configdata.pm --dump
34     - name: make
35       run: make -s -j4
36     - name: make test
37       run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
38
39   minimal:
40     runs-on: ubuntu-latest
41     steps:
42     - uses: actions/checkout@v2
43     - name: config
44       run: ./config --strict-warnings no-bulk no-pic no-asm -DOPENSSL_NO_SECURE_MEMORY -DOPENSSL_SMALL_FOOTPRINT && perl configdata.pm --dump
45     - name: make
46       run: make -s -j4
47     - name: make test
48       run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
49
50   sanitizers:
51     runs-on: ubuntu-latest
52     steps:
53     - uses: actions/checkout@v2
54     - name: config
55       run: ./config --debug enable-asan enable-ubsan enable-rc5 enable-md2 enable-ec_nistp_64_gcc_128 && perl configdata.pm --dump
56     - name: make
57       run: make -s -j4
58     - name: make test
59       run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} OPENSSL_TEST_RAND_ORDER=0
60
61   enable_non-default_options:
62     runs-on: ubuntu-latest
63     steps:
64     - uses: actions/checkout@v2
65     - name: config
66       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
67     - name: make
68       run: make -s -j4
69     - name: make test
70       run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
71
72   legacy:
73     runs-on: ubuntu-latest
74     steps:
75     - uses: actions/checkout@v2
76     - name: config
77       run: ./config -Werror --debug no-afalgeng no-shared enable-crypto-mdebug enable-rc5 enable-md2 && 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
83   buildtest:
84     runs-on: ubuntu-latest
85     steps:
86     - uses: actions/checkout@v2
87     - name: config
88       run: ./config no-asm no-makedepend enable-buildtest-c++ --strict-warnings -D_DEFAULT_SOURCE && perl configdata.pm --dump
89     - name: make
90       run: make -s -j4
91     - name: make test
92       run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}