diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..e47ad4de --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,70 @@ +# TODO: add FreeBSD via https://github.com/marketplace/actions/freebsd-vm +# +# 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 +# +# TODO: switch mirror to repo-ci.voidlinux.org once configured on their end: +# https://github.com/void-linux/void-packages/blob/master/common/travis/set_mirror.sh + +name: Compile +on: [pull_request] +jobs: + build: + strategy: + fail-fast: false + matrix: + name: [ + Arch, + Void-musl + ] + include: + - name: Arch + os: ubuntu-latest + container: archlinux:base-devel + + - name: Void-musl + os: ubuntu-latest + container: ghcr.io/void-linux/void-linux:latest-thin-x86_64-musl + + 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 + + - name: Install Void Linux dependencies + if: matrix.name == 'Void-musl' + run: | + xbps-install -Syu || xbps-install -yu xbps + xbps-install -yu + xbps-install -y git meson gcc clang pkg-config wlroots \ + 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 + + - name: Build with gcc + run: | + export CC=gcc + meson build-gcc/ --werror + meson compile -C build-gcc/ + + - name: Build with clang + run: | + export CC=clang + meson build-clang/ --werror + meson compile -C build-clang/ + diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index c12b54e9..00000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: CI -on: [push, pull_request] -jobs: - build: - runs-on: ubuntu-latest - container: archlinux:base-devel - steps: - - name: install dependencies - run: | - pacman-key --init - pacman -Syu --noconfirm - pacman -S --noconfirm git meson clang wlroots libdrm libinput \ - wayland-protocols cairo pango libxml2 xorg-xwayland - - uses: actions/checkout@v2 - - name: build with gcc - run: | - export CC=gcc - meson build-gcc/ --werror - ninja -C build-gcc/ - - name: build with clang - run: | - export CC=clang - meson build-clang/ --werror - ninja -C build-clang/ -