• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2021-2022 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: Coverage
9
10#Run once a day
11on:
12  schedule:
13    - cron:  '49 0 * * *'
14
15permissions:
16  contents: read
17
18jobs:
19  coverage:
20    permissions:
21      checks: write  # for coverallsapp/github-action to create new checks
22      contents: read  # for actions/checkout to fetch code
23    runs-on: ubuntu-latest
24    steps:
25    - uses: actions/checkout@v2
26    - name: package installs
27      run: |
28        sudo apt-get -yq install lcov
29    - name: config
30      run: CC=gcc ./config --banner=Configured --debug --coverage no-asm enable-fips enable-rc5 enable-md2 enable-ssl3 enable-nextprotoneg enable-ssl3-method enable-weak-ssl-ciphers enable-zlib enable-ec_nistp_64_gcc_128 no-shared enable-buildtest-c++ enable-external-tests -DPEDANTIC -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
31    - name: config dump
32      run: ./configdata.pm --dump
33    - name: make
34      run: make -s -j4
35    - name: make test
36      run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
37    - name: generate coverage info
38      run: lcov -d . -c -o ./lcov.info
39    - name: Coveralls upload
40      uses: coverallsapp/github-action@v1.1.2
41      with:
42        github-token: ${{ secrets.github_token }}
43        path-to-lcov: ./lcov.info
44