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 8name: Run-checker merge 9# Jobs run per merge to master 10 11on: [push] 12permissions: 13 contents: read 14 15jobs: 16 run-checker: 17 strategy: 18 fail-fast: false 19 matrix: 20 opt: [ 21 enable-asan enable-ubsan no-shared no-asm -DOPENSSL_SMALL_FOOTPRINT, 22 no-ct, 23 no-dso, 24 no-dynamic-engine, 25 no-ec2m enable-fips, 26 no-engine no-shared, 27 no-err, 28 no-filenames, 29 enable-ubsan no-asm -DOPENSSL_SMALL_FOOTPRINT -fno-sanitize=alignment, 30 no-module, 31 no-ocsp, 32 no-pinshared, 33 no-srp, 34 no-srtp, 35 no-ts, 36 no-integrity-only-ciphers, 37 enable-weak-ssl-ciphers, 38 enable-zlib, 39 enable-pie, 40 ] 41 runs-on: ubuntu-latest 42 steps: 43 - name: Adjust ASLR for sanitizer 44 run: | 45 sudo cat /proc/sys/vm/mmap_rnd_bits 46 sudo sysctl -w vm.mmap_rnd_bits=28 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: make test 61 run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} 62