name: CI Meson on: push: paths: - "**.c" - "**.cpp" - "**.h" - "**.hpp" - ".gitea/workflows/ci_meson.yaml" pull_request: paths: - "**.c" - "**.cpp" - "**.h" - "**.hpp" jobs: build: name: Build on ${{ matrix.os }} with Meson v${{ matrix.meson_version }} and ${{ matrix.comp }} runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, ubuntu-22.04, ubuntu-20.04] meson_version: ["1.4.0"] comp: [gcc, clang] steps: - name: Checkout Code uses: https://gitea.com/ScMi1/checkout@v1 - name: Setup Python uses: actions/setup-python@v5 with: python-version: '3.x' - name: Install PIP Dependencies run: python -m pip install meson==${{ matrix.meson_version }} ninja - name: Install APT Dependencies run: | apt update -y apt install -y cmake clang build-essential libx11-dev xserver-xorg-dev xorg-dev - name: Configure Project run: | ./scripts/download_dxc.sh meson setup build env: CC: ${{ matrix.comp }} - name: Compile run: meson compile -C build - name: Run Tests run: meson test -C build/ -v - name: Upload Test Log uses: actions/upload-artifact@v4 if: failure() with: name: ${{ matrix.os }}_Meson_Testlog path: build/meson-logs/testlog.txt