Skip to content

Ignore pointer subtraction error in clang-analyzer build #186

Ignore pointer subtraction error in clang-analyzer build

Ignore pointer subtraction error in clang-analyzer build #186

Workflow file for this run

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