Zonai master #1
Workflow file for this run
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-docker/pkgs/container/void-linux/versions | |
# | |
# Void dependencies based on: | |
# https://github.com/void-linux/void-packages/blob/master/srcpkgs/wlroots/template | |
# | |
# Recommended GH CI Void mirror based on | |
# https://docs.voidlinux.org/xbps/repositories/mirrors/changing.html | |
name: CI | |
on: [pull_request] | |
jobs: | |
codestyle: | |
name: CodeStyleCheck | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Code Style | |
run: | | |
./scripts/check | |
make -C scripts/helper | |
./scripts/find-banned.sh | |
build: | |
name: Build | |
needs: codestyle | |
timeout-minutes: 20 | |
strategy: | |
fail-fast: false | |
matrix: | |
name: [ | |
Arch, | |
Debian, | |
FreeBSD, | |
Void-musl | |
] | |
include: | |
- name: Arch | |
os: ubuntu-latest | |
container: archlinux:base-devel | |
env: | |
TARGET: 'sh -xe' | |
- name: Debian | |
os: ubuntu-latest | |
container: debian:testing | |
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-linux:latest-thin-x86_64-musl | |
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 git meson clang wlroots libdrm libinput \ | |
wayland-protocols cairo pango libxml2 xorg-xwayland librsvg libdisplay-info | |
- name: Install Debian Testing dependencies | |
if: matrix.name == 'Debian' | |
run: | | |
sed -i '/^Types/ s/deb/& deb-src/' /etc/apt/sources.list.d/debian.sources | |
apt-get update | |
apt-get upgrade -y | |
apt-get install -y git clang \ | |
hwdata libdisplay-info-dev \ | |
libxml2-dev libcairo2-dev libpango1.0-dev \ | |
librsvg2-dev libxcb-ewmh-dev | |
apt-get build-dep -y wlroots | |
- 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 set -yn pkg:mesa-dri # hack to skip llvm dependency | |
pkg install -y git meson gcc pkgconf cairo pango evdev-proto \ | |
hwdata wayland-protocols wlroots libdisplay-info | |
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 git meson gcc clang pkg-config wlroots libxml2-devel \ | |
wayland-devel glslang libgbm-devel libglvnd-devel libseat-devel \ | |
eudev-libudev-devel libdrm-devel libinput-devel libxkbcommon-devel \ | |
pixman-devel wayland-devel wayland-protocols xcb-util-errors-devel \ | |
xcb-util-wm-devel xcb-util-renderutil-devel libxcb-devel \ | |
xcb-util-cursor-devel xcb-util-devel xcb-util-image-devel \ | |
xcb-util-keysyms-devel xcb-util-xrm-devel xorg-server-xwayland \ | |
hwids libdisplay-info-devel \ | |
librsvg-devel \ | |
libglib-devel cairo-devel pango-devel | |
- name: Build with gcc | |
run: | | |
echo ' | |
cd "$GITHUB_WORKSPACE" | |
export CC=gcc | |
meson build-gcc -Dxwayland=enabled --werror | |
meson compile -C build-gcc | |
' | $TARGET | |
- name: Build with clang | |
run: | | |
echo ' | |
cd "$GITHUB_WORKSPACE" | |
export CC=clang | |
meson build-clang -Dxwayland=enabled --werror | |
meson compile -C build-clang | |
' | $TARGET | |
- name: Build with gcc no-xwayland | |
run: | | |
echo ' | |
cd "$GITHUB_WORKSPACE" | |
export CC=gcc | |
meson build-gcc-no-xwayland -Dxwayland=disabled --werror | |
meson compile -C build-gcc-no-xwayland | |
' | $TARGET | |
- name: Build with clang no-xwayland | |
run: | | |
echo ' | |
cd "$GITHUB_WORKSPACE" | |
export CC=clang | |
meson build-clang-no-xwayland -Dxwayland=disabled --werror | |
meson compile -C build-clang-no-xwayland | |
' | $TARGET |