1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
# Copyright (c) 2022 Sebastian Pipping <sebastian@pipping.org>
# Licensed under the GPL v2 or later
name: Build for Linux
on:
pull_request:
push:
schedule:
- cron: '0 2 * * 5' # Every Friday at 2am
jobs:
checks:
name: Build for Linux (shared=${{ matrix.BUILD_SHARED_LIBS }})
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
BUILD_SHARED_LIBS: ['ON', 'OFF']
steps:
- uses: actions/checkout@v3.0.0
- name: Install build dependencies
run: |-
set -x
sudo apt-get update
sudo apt-get install --yes --no-install-recommends -V \
gcovr \
libcmocka-dev \
libgcrypt20-dev \
libglib2.0-dev \
libmxml-dev \
libsqlite3-dev \
ninja-build
- name: Configure
run: |-
set -x
cmake \
-B build \
-G Ninja \
-DBUILD_SHARED_LIBS=${{ matrix.BUILD_SHARED_LIBS }} \
-D_OMEMO_WITH_COVERAGE=ON
- name: Build
run: |-
set -x
ninja -v -C build all
cat build/libomemo.pc
- name: Test
run: |-
set -x
CTEST_OUTPUT_ON_FAILURE=1 ninja -C build test
ninja -C build coverage
- name: Install
run: |-
set -x -o pipefail
DESTDIR="${PWD}"/ROOT ninja -v -C build install
find ROOT/ -not -type d | sort | xargs ls -l
- name: Store coverage HTML report
uses: actions/upload-artifact@v3.0.0
with:
name: omemo_coverage_shared_${{ matrix.BUILD_SHARED_LIBS }}
path: build/coverage*.html
if-no-files-found: error
|