Coverage #1296
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright 2021-2024 The OpenSSL Project Authors. All Rights Reserved. | |
# | |
# Licensed under the Apache License 2.0 (the "License"). You may not use | |
# this file except in compliance with the License. You can obtain a copy | |
# in the file LICENSE in the source distribution or at | |
# https://www.openssl.org/source/license.html | |
name: Coverage | |
# Run once a day | |
on: | |
schedule: | |
- cron: '15 02 * * *' | |
workflow_dispatch: | |
permissions: | |
contents: read | |
jobs: | |
coverage: | |
permissions: | |
checks: write # for coverallsapp/github-action to create new checks | |
contents: read # for actions/checkout to fetch code | |
strategy: | |
fail-fast: false | |
matrix: | |
branches: [ | |
{ | |
branch: openssl-3.4, | |
extra_config: no-afalgeng enable-fips enable-tfo | |
}, { | |
branch: openssl-3.3, | |
extra_config: no-afalgeng enable-fips enable-tfo | |
}, { | |
branch: openssl-3.2, | |
extra_config: no-afalgeng enable-fips enable-tfo | |
}, { | |
branch: openssl-3.1, | |
extra_config: no-afalgeng enable-fips | |
}, { | |
branch: openssl-3.0, | |
extra_config: no-afalgeng enable-fips | |
}, { | |
branch: master, | |
extra_config: no-afalgeng enable-fips enable-tfo | |
} | |
] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
ref: ${{ matrix.branches.branch }} | |
- name: cache commit id | |
run: | | |
echo "githubid=`/usr/bin/git log -1 --format='%H'`" >>$GITHUB_ENV | |
- name: package installs | |
run: | | |
sudo apt-get update | |
sudo apt-get -yq install lcov | |
sudo apt-get -yq install bison gettext keyutils ldap-utils libldap2-dev libkeyutils-dev python3 python3-paste python3-pyrad slapd tcsh python3-virtualenv virtualenv python3-kdcproxy | |
- name: install Test2::V0 for gost_engine testing | |
uses: perl-actions/install-with-cpanm@stable | |
with: | |
install: Test2::V0 | |
- name: setup hostname workaround | |
run: sudo hostname localhost | |
- name: config | |
run: CC=gcc ./config --debug --coverage ${{ matrix.branches.extra_config }} no-asm enable-rc5 enable-md2 enable-ssl3 enable-nextprotoneg enable-ssl3-method enable-weak-ssl-ciphers enable-zlib enable-ec_nistp_64_gcc_128 enable-buildtest-c++ enable-ssl-trace enable-trace | |
- name: config dump | |
run: ./configdata.pm --dump | |
- name: make | |
run: make -s -j4 | |
- name: get cpu info | |
run: | | |
cat /proc/cpuinfo | |
./util/opensslwrap.sh version -c | |
- name: make test | |
run: make test TESTS='-test_external_krb5' | |
- name: generate coverage info | |
run: lcov -d . -c | |
--exclude "${PWD}/test/*" | |
--exclude "${PWD}/test/helpers/*" | |
--exclude "${PWD}/test/testutil/*" | |
--exclude "${PWD}/fuzz/*" | |
--exclude "/usr/include/*" | |
-o ./lcov.info | |
- name: Coveralls upload | |
uses: coverallsapp/github-action@v2.3.2 | |
with: | |
github-token: ${{ secrets.github_token }} | |
git-branch: ${{ matrix.branches.branch }} | |
git-commit: ${{ env.githubid }} | |
path-to-lcov: ./lcov.info |