ci: add GitHub token permissions for workflows
[openssl.git] / .github / workflows / coveralls.yml
1 # Copyright 2021 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 name: Coverage
9
10 #Run once a day
11 on:
12   schedule:
13     - cron:  '49 0 * * *'
14
15 permissions:
16   contents: read
17
18 jobs:
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       with:
27         submodules: recursive
28     - name: package installs
29       run: |
30         sudo apt-get update
31         sudo apt-get -yq install lcov
32         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
33     - name: install cpanm and Test2::V0 for gost_engine testing
34       uses: perl-actions/install-with-cpanm@v1
35       with:
36         install: Test2::V0
37     - name: setup hostname workaround
38       run: sudo hostname localhost
39     - name: config
40       run: CC=gcc ./config --banner=Configured --debug --coverage no-asm no-afalgeng 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 enable-tfo enable-quic -DPEDANTIC -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
41     - name: config dump
42       run: ./configdata.pm --dump
43     - name: make
44       run: make -s -j4
45     - name: make test
46       run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} TESTS='-test_external_krb5'
47     - name: generate coverage info
48       run: lcov -d . -c -o ./lcov.info
49     - name: Coveralls upload
50       uses: coverallsapp/github-action@v1.1.2
51       with:
52         github-token: ${{ secrets.github_token }}
53         path-to-lcov: ./lcov.info