From 07189ff9577d0dc7be926034e3e648605ae2e5bc Mon Sep 17 00:00:00 2001 From: Gustav Behm Date: Wed, 15 Nov 2023 08:45:45 +0100 Subject: [PATCH] Try a matrix --- .github/workflows/tests.yaml | 22 ++++++++++++++++++++-- prepare.sh | 23 ++++++++++++++++++----- 2 files changed, 38 insertions(+), 7 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index f528858..a788163 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -6,13 +6,31 @@ on: jobs: build: + strategy: + matrix: + image: [ "ubuntu:latest", "ubuntu:22.04", "archlinux:latest" ] + continue-on-error: true runs-on: ubuntu-latest + container: + image: ${{ matrix.image }} steps: - - name: Check out repository code + - name: Checkout prepare script uses: actions/checkout@v4 + with: + sparse-checkout: prepare.sh + sparse-checkout-cone-mode: false - name: Prepare build environment - run: ./prepare.sh -us | tee -a "$GITHUB_ENV" + run: ./prepare.sh -u | tee -a "$GITHUB_ENV" + + - name: Check out repository code + uses: actions/checkout@v4 + + - run: chown $(id -u):$(id -g) . + - run: ls -la . + - run: ls -la .. + - run: git show + - run: git ls-files - name: Build run: make build diff --git a/prepare.sh b/prepare.sh index c1dadcf..1c4cf3c 100755 --- a/prepare.sh +++ b/prepare.sh @@ -18,20 +18,33 @@ done shift $((OPTIND-1)) if [ -z "$DISTRO" ]; then - DISTRO=$(lsb_release -is) + if command -v lsb_release; then + DISTRO=$(lsb_release -is) + elif command -v pacman >/dev/null; then + DISTRO="Arch" + elif command -v apt-get >/dev/null; then + # TODO: debian + DISTRO="Ubuntu" + else + echo "unable to figure out distribution: $DISTRO" 1>&2 + exit 1 + fi fi echo "distro: $DISTRO" 1>&2 -if [ "$DISTRO" = "Arch" ]; then +if [ "$DISTRO" = "Arch" ] || command -v pacman >/dev/null; then if [ -n "$UPDATE" ]; then - $SUDO pacman -Sy + $SUDO pacman -Sy 1>&2 fi - $SUDO pacman -S lua libxrandr -elif [ "$DISTRO" = "Ubuntu" ]; then + $SUDO pacman -S --noconfirm 1>&2 \ + git make \ + lua libxrandr +elif [ "$DISTRO" = "Ubuntu" ] || command -v apt-get >/dev/null; then if [ -n "$UPDATE" ]; then $SUDO apt-get update 1>&2 fi $SUDO apt-get install --yes --no-install-recommends 1>&2 \ + git ca-certificates \ make \ liblua5.4-dev libxrandr-dev echo "LUA_PKG=lua54"