coveralls.yml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. # Copyright 2021-2023 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. name: Coverage
  8. # Run once a day
  9. on:
  10. schedule:
  11. - cron: '49 0 * * *'
  12. permissions:
  13. contents: read
  14. jobs:
  15. coverage:
  16. permissions:
  17. checks: write # for coverallsapp/github-action to create new checks
  18. contents: read # for actions/checkout to fetch code
  19. strategy:
  20. fail-fast: false
  21. matrix:
  22. branches: [
  23. {
  24. branch: openssl-3.3,
  25. extra_config: no-afalgeng enable-fips enable-tfo
  26. }, {
  27. branch: openssl-3.2,
  28. extra_config: no-afalgeng enable-fips enable-tfo
  29. }, {
  30. branch: openssl-3.1,
  31. extra_config: no-afalgeng enable-fips
  32. }, {
  33. branch: openssl-3.0,
  34. extra_config: no-afalgeng enable-fips
  35. }, {
  36. branch: master,
  37. extra_config: no-afalgeng enable-fips enable-tfo
  38. }
  39. ]
  40. runs-on: ubuntu-latest
  41. steps:
  42. - uses: actions/checkout@v4
  43. with:
  44. submodules: recursive
  45. ref: ${{ matrix.branches.branch }}
  46. - name: cache commit id
  47. run: |
  48. echo "githubid=`/usr/bin/git log -1 --format='%H'`" >>$GITHUB_ENV
  49. - name: package installs
  50. run: |
  51. sudo apt-get update
  52. sudo apt-get -yq install lcov
  53. 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
  54. - name: install Test2::V0 for gost_engine testing
  55. uses: perl-actions/install-with-cpanm@v1
  56. with:
  57. install: Test2::V0
  58. - name: setup hostname workaround
  59. run: sudo hostname localhost
  60. - name: config
  61. 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
  62. - name: config dump
  63. run: ./configdata.pm --dump
  64. - name: make
  65. run: make -s -j4
  66. - name: get cpu info
  67. run: |
  68. cat /proc/cpuinfo
  69. ./util/opensslwrap.sh version -c
  70. - name: make test
  71. run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} TESTS='-test_external_krb5'
  72. - name: generate coverage info
  73. run: lcov -d . -c
  74. --exclude "${PWD}/test/*"
  75. --exclude "${PWD}/test/helpers/*"
  76. --exclude "${PWD}/test/testutil/*"
  77. --exclude "${PWD}/fuzz/*"
  78. --exclude "/usr/include/*"
  79. -o ./lcov.info
  80. - name: Coveralls upload
  81. uses: coverallsapp/github-action@v2.2.3
  82. with:
  83. github-token: ${{ secrets.github_token }}
  84. git-branch: ${{ matrix.branches.branch }}
  85. git-commit: ${{ env.githubid }}
  86. path-to-lcov: ./lcov.info