Files
mcaselector-lite/.github/workflows/ci.yaml
2025-09-17 11:32:40 +02:00

48 lines
1.3 KiB
YAML

name: CI
on:
push:
branches: [main]
jobs:
compile-and-test:
strategy:
fail-fast: false # disable fail fast, so feedback is provided for all matrix combinations
matrix:
os:
- ubuntu-latest
- ubuntu-24.04-arm
# - windows-latest
# - windows-11-arm
- macos-latest
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v5
with:
submodules: true
fetch-depth: 1
- name: "Linux: install deps"
if: runner.os == 'Linux'
run: |
sudo apt update
sudo apt install -y libwayland-dev libxkbcommon-dev xorg-dev cmake xxd
- name: get submodule hash
id: get-hash
run: echo "HASH=$(git submodule | sha1sum)" >$GITHUB_OUTPUT
- uses: actions/cache@v4
id: cache-deps
with:
path: lib/obj/
# I swear to god, if runner.arch displays x64 for x86_64, I will eat a potato.
# note: it is... fucking shit.
key: ${{runner.os}}_${{runner.arch}}-lib/obj-${{steps.get-hash.outputs.HASH}}
restore-keys: ${{runner.os}}_${{runner.arch}}-lib/obj-
- run: make -Bj libs
if: steps.cache-deps.outputs.cache-hit != 'true'
- run: make -j all
- run: make -j test