diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..4eb2f8c --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,58 @@ +on: + push: + branches: [ "feature/continuous-integration", "development" ] + +jobs: + devel: + runs-on: ubuntu-latest + container: + image: archlinux:latest + steps: + - run: pacman-key --init + - run: pacman -Syu --noconfirm git sudo + - uses: actions/checkout@v3 + - run: git config --global --add safe.directory /__w/cagebreak/cagebreak + - run: bash scripts/install-development-environment + - run: meson setup build -Dxwayland=true -Dman-pages=true --buildtype=release + - run: ninja -C build + - run: meson test -C build --suite devel --suite devel-long -v + basic: + runs-on: ubuntu-latest + container: + image: archlinux:latest + steps: + - run: pacman-key --init + - run: pacman -Syu --noconfirm git sudo + - uses: actions/checkout@v3 + - run: bash scripts/install-development-environment + - run: meson setup build -Dxwayland=true -Dman-pages=true --buildtype=release + - run: ninja -C build + - run: useradd test && usermod -L test + - run: chown -R test . + - run: runuser -p -l test -c 'meson test -C build --suite basic -v' + release: + runs-on: ubuntu-latest + container: + image: archlinux:latest + steps: + - run: pacman-key --init + - run: pacman -Syu --noconfirm git sudo + - uses: actions/checkout@v3 + - run: bash scripts/install-development-environment + - run: meson setup build -Dxwayland=true -Dman-pages=true --buildtype=release + - run: ninja -C build + - run: useradd test && usermod -L test + - run: chown -R test . + - run: runuser -p -l test -c 'meson test -C build --suite release -v' + + +# pkgtest: +# runs-on: ubuntu-latest +# container: +# image: archlinux:latest +# steps: +# - run: pacman-key --init +# - run: pacman -Syu --noconfirm git sudo +# - run: git clone https://github.com/project-repo/cagebreak-pkgbuild +# - run: cd cagebreak-pkgbuild/cagebreak +# - run: makepkg diff --git a/meson.build b/meson.build index aeb3346..e48fb03 100644 --- a/meson.build +++ b/meson.build @@ -209,7 +209,7 @@ reproducible_build_versions = { 'fontconfig': '2.14.2', 'libinput': '1.24.0', 'libevdev': '1.13.1', - 'libudev': '254', + 'libudev': '255', 'pango': '1.51.0', 'cairo': '1.18.0', 'pangocairo': '1.51.0', diff --git a/scripts/install-development-environment b/scripts/install-development-environment index 1b71ce5..ccaa19c 100644 --- a/scripts/install-development-environment +++ b/scripts/install-development-environment @@ -2,7 +2,7 @@ # Copyright 2023, project-repo and the cagebreak contributors # SPDX-License-Identifier: MIT -sudo pacman -Syu --noconfirm git grep sed xorg-xev meson ninja clang gcc shellcheck jq openbsd-netcat gnupg binutils alacritty wlroots wayland wayland-protocols libxkbcommon cairo pango fontconfig libinput libevdev pkgconf scdoc systemd-libs # systemd-libs is included because of libudev +sudo pacman -Syu --noconfirm git grep sed xorg-xev xorg-xwayland meson ninja clang gcc shellcheck jq openbsd-netcat gnupg binutils alacritty wlroots wayland wayland-protocols libxkbcommon cairo pango fontconfig libinput libevdev pkgconf scdoc systemd-libs # systemd-libs is included because of libudev if [[ -n ${MESON_SOURCE_ROOT} ]] then