Readme update #196
Workflow file for this run
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
name: CI build | |
on: | |
pull_request: | |
push: | |
# don't run on packaging and dependabot branches | |
branches-ignore: | |
- 'for-debian' | |
- 'debian/**' | |
- 'pristine-tar' | |
- 'dependabot/**' | |
permissions: | |
contents: read | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
container: | |
- 'debian:bookworm' | |
- 'debian:sid' | |
- 'fedora:39' | |
- 'alpine:latest' | |
runs-on: ubuntu-latest | |
container: ${{ matrix.container }} | |
name: ${{ matrix.container }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install dependencies (Debian) | |
if: startsWith(matrix.container, 'debian') | |
run: | | |
export DEBIAN_FRONTEND=noninteractive | |
apt-get update | |
apt-get -y install python3-yaml apache2-bin apache2-dev curl gnutls-bin libapr1-dev libgnutls28-dev openssl pandoc pkg-config procps iproute2 softhsm2 | |
- name: install dependencies (Fedora) | |
if: startsWith(matrix.container, 'fedora') | |
run: | | |
dnf -y install bzip2 curl gcc gnutls-devel gnutls-utils httpd-devel iproute libtool make pkgconf-pkg-config python3-pyyaml redhat-rpm-config softhsm | |
- name: install dependencies (Alpine) | |
if: startsWith(matrix.container, 'alpine') | |
run: | | |
apk add apache2 apache2-dev apache2-proxy autoconf automake bash build-base gnutls-dev gnutls-utils libtool pkgconfig python3 py3-yaml | |
- name: set prefix for container-specific artifacts | |
# this is because upload-artifact doesn't like ":" in file names | |
env: | |
CONTAINER_NAME: ${{ matrix.container }} | |
run: | | |
echo "artifact_prefix=$(echo ${CONTAINER_NAME} | sed s/:/-/)" >> ${GITHUB_ENV} | |
- name: build mod_gnutls and run tests | |
uses: ./.github/build-action/ | |
with: | |
artifact-prefix: ${{ env.artifact_prefix }} | |
- name: make distcheck | |
run: VERBOSE=1 make -j4 distcheck | |
coverage: | |
runs-on: ubuntu-latest | |
container: debian:bookworm | |
name: coverage | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install dependencies | |
run: | | |
export DEBIAN_FRONTEND=noninteractive | |
apt-get update | |
apt-get -y install python3-yaml apache2-bin apache2-dev curl gnutls-bin libapr1-dev libgnutls28-dev openssl pkg-config procps iproute2 softhsm2 clang llvm | |
- name: build mod_gnutls with coverage support | |
uses: ./.github/build-action/ | |
with: | |
cc: clang | |
configure-options: >- | |
--enable-clang-coverage | |
CFLAGS="-Wno-null-pointer-subtraction" | |
artifact-prefix: coverage | |
- name: generate coverage report | |
working-directory: ./test | |
run: make -j4 coverage | |
- name: store coverage report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-report | |
path: test/coverage/ | |
- name: coverage summary | |
run: llvm-cov report src/.libs/mod_gnutls.so -instr-profile=test/outputs/coverage.profdata src/*.c src/*.h include/*.h |