CI: add make check
#30
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Void-musl images: | |
# https://github.com/void-linux/void-containers/pkgs/container/void-musl | |
# | |
# Void dependencies based on: | |
# https://github.com/void-linux/void-packages/blob/master/srcpkgs/labwc/template | |
# | |
# Recommended GH CI Void mirror based on | |
# https://docs.voidlinux.org/xbps/repositories/mirrors/changing.html | |
name: CI | |
on: | |
pull_request: | |
push: | |
branches: | |
- 'master' | |
jobs: | |
build: | |
name: Build | |
timeout-minutes: 20 | |
strategy: | |
fail-fast: false | |
matrix: | |
name: [ | |
Arch, | |
FreeBSD, | |
Void-musl | |
] | |
include: | |
- name: Arch | |
os: ubuntu-latest | |
container: archlinux:base-devel | |
env: | |
TARGET: 'sh -xe' | |
- name: FreeBSD | |
os: ubuntu-latest | |
env: | |
TARGET: 'ssh freebsd /bin/sh -xe' | |
- name: Void-musl | |
os: ubuntu-latest | |
container: ghcr.io/void-linux/void-musl:latest | |
env: | |
TARGET: 'sh -xe' | |
env: ${{ matrix.env }} | |
runs-on: ${{ matrix.os }} | |
container: ${{ matrix.container }} | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Install Arch Linux dependencies | |
if: matrix.name == 'Arch' | |
run: | | |
pacman-key --init | |
pacman -Syu --noconfirm | |
pacman -S --noconfirm meson gcc clang pkgconf glib2 | |
- name: Install FreeBSD dependencies | |
if: matrix.name == 'FreeBSD' | |
uses: vmactions/freebsd-vm@v1 | |
with: | |
usesh: true | |
prepare: | | |
sed -i '' 's/quarterly/latest/' /etc/pkg/FreeBSD.conf | |
pkg install -y meson gcc pkgconf devel/glib20 | |
run: echo "setup done" | |
- name: Install Void Linux dependencies | |
if: matrix.name == 'Void-musl' | |
run: | | |
mkdir -p /etc/xbps.d | |
cp /usr/share/xbps.d/*-repository-*.conf /etc/xbps.d/ | |
sed -i "s:repo-default\.voidlinux\.org:repo-ci.voidlinux.org:g" \ | |
/etc/xbps.d/*-repository-*.conf | |
xbps-install -Syu || xbps-install -yu xbps | |
xbps-install -Syu | |
xbps-install -y meson gcc clang pkg-config glib-devel patch | |
- name: Build with gcc | |
run: | | |
echo ' | |
cd "$GITHUB_WORKSPACE" | |
export CC=gcc | |
meson setup build-gcc --werror | |
meson compile -C build-gcc | |
' | $TARGET | |
- name: Build with clang | |
run: | | |
echo ' | |
cd "$GITHUB_WORKSPACE" | |
export CC=clang | |
meson setup build-clang --werror | |
meson compile -C build-clang | |
' | $TARGET | |
- name: Run tests | |
run: | | |
echo ' | |
cd "$GITHUB_WORKSPACE" | |
meson test -C build-gcc | |
' | $TARGET |