name: C/C++ CI on: push: branches: [ $default-branch ] pull_request: types: [ opened, reopened, synchronize ] jobs: builds: strategy: fail-fast: false matrix: os: [ 'ubuntu:16.04', 'ubuntu:20.04', 'ubuntu:22.04' ] runs-on: ubuntu-latest container: ${{ matrix.os }} steps: - name: Install dependencies # Set env variable or otherwise tzdata package requires interaction env: DEBIAN_FRONTEND: noninteractive run: | apt-get update apt-get install -y \ build-essential pkgconf apt-get install -y \ wget \ libevent-dev \ libssl-dev \ libpq-dev libsqlite3-dev \ libhiredis-dev \ libmongoc-dev \ libmicrohttpd-dev if [ ${{ matrix.os }} = 'ubuntu:16.04' ]; then apt-get install -y libmariadb-client-lgpl-dev; fi if [ ${{ matrix.os }} != 'ubuntu:16.04' ]; then apt-get install -y libmariadb-dev; fi wget https://github.com/digitalocean/prometheus-client-c/releases/download/v0.1.3/libprom-dev-0.1.3-Linux.deb && \ wget https://github.com/digitalocean/prometheus-client-c/releases/download/v0.1.3/libpromhttp-dev-0.1.3-Linux.deb && \ apt install ./libprom-dev-0.1.3-Linux.deb ./libpromhttp-dev-0.1.3-Linux.deb && \ rm ./libprom-dev-0.1.3-Linux.deb ./libpromhttp-dev-0.1.3-Linux.deb - uses: actions/checkout@v3 - name: configure run: ./configure - name: make run: make - name: make check run: make check - name: apps tests run: cd examples && ./run_tests.sh