mirror of
https://github.com/cage-kiosk/cage.git
synced 2026-04-07 08:21:27 -04:00
wlroots as a subproject now yields the xwayland meson option to its parent. We need to match the type for this to work. This also adds support for auto mode, where xwayland is used if present but no warning is given otherwise.
77 lines
2.8 KiB
YAML
77 lines
2.8 KiB
YAML
name: Continuous integration build
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
pull_request:
|
|
branches: [ master ]
|
|
|
|
jobs:
|
|
compile:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
CC: [ gcc, clang ]
|
|
OS: [ "alpine:edge", "archlinux:base-devel" ]
|
|
xwayland: [ enabled, disabled ]
|
|
container: ${{ matrix.OS }}
|
|
env:
|
|
CC: ${{ matrix.CC }}
|
|
steps:
|
|
- name: Checkout Cage
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Install dependencies (Alpine)
|
|
if: "matrix.OS == 'alpine:edge'"
|
|
run: apk add build-base xcb-util-wm-dev libseat-dev clang git eudev-dev mesa-dev libdrm-dev libinput-dev libxkbcommon-dev pixman-dev wayland-dev meson wayland-protocols xwayland scdoc-doc hwdata
|
|
|
|
- name: Install dependencies (Arch)
|
|
if: "matrix.OS == 'archlinux:base-devel'"
|
|
run: |
|
|
pacman-key --init
|
|
pacman -Syu --noconfirm xcb-util-wm seatd git clang meson libinput libdrm mesa libxkbcommon wayland wayland-protocols xorg-server-xwayland scdoc
|
|
|
|
- name: Fetch wlroots as a subproject
|
|
run: git clone https://gitlab.freedesktop.org/wlroots/wlroots.git subprojects/wlroots -b 0.16.0
|
|
|
|
# TODO: use --fatal-meson-warnings when on wlroots 0.15.0
|
|
- name: Compile Cage (XWayland=${{ matrix.xwayland }})
|
|
run: |
|
|
meson build-${{ matrix.CC }}-${{matrix.xwayland }} -Dxwayland=${{ matrix.xwayland }}
|
|
ninja -C build-${{ matrix.CC }}-${{matrix.xwayland }}
|
|
|
|
format:
|
|
runs-on: ubuntu-latest
|
|
container: "archlinux:base-devel"
|
|
steps:
|
|
- name: Checkout Cage
|
|
uses: actions/checkout@v2
|
|
- name: Install dependencies
|
|
run: |
|
|
pacman-key --init
|
|
pacman -Syu --noconfirm xcb-util-wm seatd git clang meson libinput libdrm mesa libxkbcommon wayland wayland-protocols xorg-server-xwayland scdoc hwdata
|
|
- name: Fetch wlroots as a subproject
|
|
run: git clone https://gitlab.freedesktop.org/wlroots/wlroots.git subprojects/wlroots -b 0.16.0
|
|
- name: Check for formatting changes
|
|
run: |
|
|
meson build-clang-format -Dxwayland=enabled
|
|
ninja -C build-clang-format clang-format-check
|
|
|
|
scan-build:
|
|
runs-on: ubuntu-latest
|
|
container: "archlinux:base-devel"
|
|
env:
|
|
CC: clang
|
|
steps:
|
|
- name: Checkout Cage
|
|
uses: actions/checkout@v2
|
|
- name: Install dependencies
|
|
run: |
|
|
pacman-key --init
|
|
pacman -Syu --noconfirm xcb-util-wm seatd git clang meson libinput libdrm mesa libxkbcommon wayland wayland-protocols xorg-server-xwayland scdoc hwdata
|
|
- name: Fetch wlroots as a subproject
|
|
run: git clone https://gitlab.freedesktop.org/wlroots/wlroots.git subprojects/wlroots -b 0.16.0
|
|
- name: Run scan-build
|
|
run: |
|
|
meson build-scan-build -Dxwayland=enabled
|
|
ninja -C build-scan-build scan-build
|