Skip to content

Build CI

Build CI #22

Workflow file for this run

name: Build CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
schedule:
# build the main branch every Monday morning
- cron: '37 9 * * 1'
workflow_dispatch:
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
compiler: [cc, clang, gcc-12]
exclude:
- os: macos-latest
compiler: cc
- os: macos-latest
compiler: gcc-12
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Compiler version
run: $CC -v
env:
CC: ${{ matrix.compiler }}
- name: Install Linux dependencies
run: sudo apt install cmake ninja-build libssl-dev libpcap-dev libnet1-dev libjson-c-dev
if: ${{ runner.os == 'Linux' }}
- name: Install macOS dependencies
run: |
brew install cmake ninja openssl@3 libpcap libnet json-c
echo "LDFLAGS=-L$(brew --prefix openssl@3)/lib" >> $GITHUB_ENV
echo "CPPFLAGS=-I$(brew --prefix openssl@3)/include" >> $GITHUB_ENV
if: ${{ runner.os == 'macOS' }}
- name: cmake -B ${{github.workspace}}/build -G Ninja
run: cmake -B ${{github.workspace}}/build -G Ninja
env:
CC: ${{ matrix.compiler }}
- name: ninja -C ${{github.workspace}}/build
run: ninja -C ${{github.workspace}}/build