1# Copyright 2021-2024 The OpenSSL Project Authors. All Rights Reserved.
2#
3# Licensed under the Apache License 2.0 (the "License").  You may not use
4# this file except in compliance with the License.  You can obtain a copy
5# in the file LICENSE in the source distribution or at
6# https://www.openssl.org/source/license.html
7
8# Jobs run per pull request submission
9name: Run-checker CI
10on: [pull_request, push]
11permissions:
12  contents: read
13
14env:
15  OSSL_RUN_CI_TESTS: 1
16
17jobs:
18  run-checker:
19    strategy:
20      fail-fast: false
21      matrix:
22        opt: [
23          no-cmp,
24          no-cms,
25          no-dgram,
26          no-dh,
27          no-dtls,
28          no-ec,
29          no-ecx,
30          no-http,
31          no-legacy,
32          no-sock,
33          enable-ssl-trace,
34          no-stdio,
35          no-threads,
36          no-thread-pool,
37          no-default-thread-pool,
38          no-tls,
39          no-tls1_2,
40          no-tls1_3,
41          enable-trace enable-fips,
42          no-ui,
43          no-quic
44        ]
45    runs-on: ubuntu-latest
46    steps:
47    - uses: actions/checkout@v4
48    - name: checkout fuzz/corpora submodule
49      run: git submodule update --init --depth 1 fuzz/corpora
50    - name: config
51      run: CC=clang ./config --banner=Configured --strict-warnings ${{ matrix.opt }}
52    - name: config dump
53      run: ./configdata.pm --dump
54    - name: make
55      run: make -s -j4
56    - name: get cpu info
57      run: |
58        cat /proc/cpuinfo
59        if [ -x apps/openssl ] ; then ./util/opensslwrap.sh version -c ; fi
60    - name: Check platform symbol usage
61      run: ./util/checkplatformsyms.pl ./util/platform_symbols/unix-symbols.txt ./libcrypto.so ./libssl.so
62    - name: make test
63      run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
64