name: ubuntu permissions: contents: read on: [push, pull_request] env: CFLAGS: -Wall -Werror jobs: test: strategy: matrix: compiler: [clang-15, gcc] os: [ubuntu-22.04, ubuntu-20.04] build: [meson, autotools] runs-on: ${{ matrix.os }} env: CC: ${{ matrix.compiler }} DISTRO: ${{ matrix.os }} steps: - name: 'Checkout' uses: actions/checkout@v4 - name: 'Install toolchain' if: ${{ (matrix.compiler == 'clang-15') }} run: .github/workflows/install-clang.sh 15 - name: 'Install prerequisites' run: | sudo apt-get update sudo apt-get install -y \ libdrm-dev \ libegl1-mesa-dev \ libgl1-mesa-dev \ libx11-dev \ libx11-xcb-dev \ libxcb-dri3-dev \ libxext-dev \ libxfixes-dev \ libwayland-dev \ meson - name: 'Print compiler version' run: ${{ matrix.compiler }} --version - name: 'Configure (meson)' if: ${{ (matrix.build == 'meson') }} run: meson setup ./builddir --prefix=/usr - name: 'Build (meson)' if: ${{ (matrix.build == 'meson') }} run: meson compile -C ./builddir || ninja -C ./builddir - name: 'Install (meson)' if: ${{ (matrix.build == 'meson') }} run: sudo meson install -C ./builddir - name: 'Configure (autotools)' if: ${{ (matrix.build == 'autotools') }} run: ./autogen.sh --prefix=/usr - name: 'Build (autotools)' if: ${{ (matrix.build == 'autotools') }} run: make - name: 'Build and Install (autotools)' if: ${{ (matrix.build == 'autotools') }} run: sudo make install