.github: build: rewrite and add clang+gcc build matrix
- add build matrix with both gcc and clang - run on all pushes and pull requests, except dev (coverity) - use DESTDIR for install, not --prefix - check install-strip with tree and ldd+size with usage - add example w/ libsyslog, from .travis.yml Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
parent
b0d4e4cc3f
commit
e89ccd44ec
55
.github/workflows/build.yml
vendored
Normal file
55
.github/workflows/build.yml
vendored
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
name: Bob the Builder
|
||||||
|
|
||||||
|
# Run on all branches, including all pull requests, except the 'dev'
|
||||||
|
# branch since that's where we run Coverity Scan (limited tokens/day)
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- '**'
|
||||||
|
- '!dev'
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- '**'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
# Verify we can build on latest Ubuntu with both gcc and clang
|
||||||
|
name: ${{ matrix.compiler }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
compiler: [gcc, clang]
|
||||||
|
fail-fast: false
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
MAKEFLAGS: -j3
|
||||||
|
CC: ${{ matrix.compiler }}
|
||||||
|
steps:
|
||||||
|
- name: Install build dependencies ...
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo DEBIAN_FRONTEND=noninteractive apt-get install -qq -y tree tshark
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Configure
|
||||||
|
run: |
|
||||||
|
./autogen.sh
|
||||||
|
./configure --prefix=
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
make V=1
|
||||||
|
- name: Install
|
||||||
|
run: |
|
||||||
|
make V=1 DESTDIR=~/tmp install-strip
|
||||||
|
tree ~/tmp
|
||||||
|
ldd ~/tmp/sbin/syslogd
|
||||||
|
size ~/tmp/sbin/syslogd
|
||||||
|
~/tmp/sbin/syslogd -?
|
||||||
|
- name: Example w/ libsyslog
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/tmp/example
|
||||||
|
cp -a example/example.* ~/tmp/example/
|
||||||
|
pushd ~/tmp/example/
|
||||||
|
PKG_CONFIG_LIBDIR=~/tmp/lib/pkgconfig make -f example.mk
|
||||||
|
popd
|
||||||
|
- name: Unit tests
|
||||||
|
run: |
|
||||||
|
sudo make check || (cat test/start.log; cat test/remote.log; false)
|
28
.github/workflows/ccpp.yml
vendored
28
.github/workflows/ccpp.yml
vendored
@ -1,28 +0,0 @@
|
|||||||
name: C/C++ CI
|
|
||||||
|
|
||||||
on: [push]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
name: sysklogd ci
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Update packagage cache ...
|
|
||||||
run: sudo apt-get update
|
|
||||||
- name: Install build dependencies ...
|
|
||||||
run: sudo DEBIAN_FRONTEND=noninteractive apt-get install -qq -y tree tshark
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
- name: Generate and run configure script ...
|
|
||||||
run: ./autogen.sh && ./configure --disable-silent-rules
|
|
||||||
- name: Build project ...
|
|
||||||
run: make
|
|
||||||
- name: Run project unit tests ...
|
|
||||||
run: sudo make check || (cat cat test/start.log; cat test/remote.log; false)
|
|
||||||
# - name: clang-tidy check
|
|
||||||
# uses: muxee/clang-tidy-action@0.0.1-rc1
|
|
||||||
# - name: SonarCloud Scan
|
|
||||||
# uses: SonarSource/sonarcloud-github-action@v1.1
|
|
||||||
- name: Check project installation ...
|
|
||||||
run: make install-strip DESTDIR=/tmp/tok; tree /tmp/tok
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user