59 lines
1.8 KiB
YAML
59 lines
1.8 KiB
YAML
name: CI Debian Bullseye
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- '*'
|
|
pull_request:
|
|
branches: [ master ]
|
|
|
|
jobs:
|
|
build:
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
strategy:
|
|
matrix:
|
|
crypto_backend: [ gnutls, openssl ]
|
|
jwt_backend: [ libjwt, jwt_cpp ]
|
|
include:
|
|
- crypto_backend: gnutls
|
|
crypto_package: libgnutls28-dev
|
|
jwt_package: libjwt-gnutls-dev
|
|
- crypto_backend: openssl
|
|
crypto_package: libssl-dev
|
|
jwt_package: libjwt-dev
|
|
exclude:
|
|
- crypto_backend: gnutls
|
|
jwt_backend: jwt_cpp
|
|
runs-on: ubuntu-latest
|
|
container: debian:bullseye
|
|
|
|
steps:
|
|
- name: Update packages
|
|
run: apt-get -qq update && apt-get -qq upgrade
|
|
- name: Install git
|
|
run: apt-get -qq install git
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
submodules: recursive
|
|
- name: Install dependencies
|
|
run: >
|
|
apt-get -qq install make cmake g++
|
|
default-libmysqlclient-dev
|
|
libavcodec-dev libavformat-dev libavutil-dev libswresample-dev libswscale-dev
|
|
libcurl4-gnutls-dev libvlc-dev libvncserver-dev
|
|
libdate-manip-perl libdbd-mysql-perl libsys-mmap-perl libwww-perl
|
|
libpolkit-gobject-1-dev
|
|
libfmt-dev
|
|
catch2
|
|
${{ matrix.crypto_package }} ${{ matrix.jwt_package }}
|
|
- name: Prepare
|
|
run: mkdir build
|
|
- name: Configure
|
|
run: cd build && cmake --version && cmake .. -DBUILD_MAN=0 -DBUILD_TEST_SUITE=1 -DENABLE_WERROR=1 -DZM_CRYPTO_BACKEND=${{ matrix.crypto_backend }} -DZM_JWT_BACKEND=${{ matrix.jwt_backend }}
|
|
- name: Build
|
|
run: cd build && make -j3 | grep --line-buffered -Ev '^(cp lib\/|Installing.+\.pm)' && (exit ${PIPESTATUS[0]})
|
|
- name: Run tests
|
|
run: cd build/tests && ./tests "~[notCI]"
|