name: linux on: push: branches: [ master ] pull_request: branches: [ master ] # Set permissions at the job level. permissions: {} jobs: linux: runs-on: ubuntu-22.04 permissions: contents: read strategy: matrix: compiler: [clang, gcc] steps: - uses: actions/checkout@v3 with: persist-credentials: false - uses: actions/setup-python@v4 with: python-version: '3.9' - name: Install dependencies run: | python -m pip install --upgrade meson PyYAML sudo apt update sudo apt install -y \ doxygen libxcb-xkb-dev valgrind ninja-build \ libwayland-dev wayland-protocols bison graphviz - name: Setup run: | # -gdwarf-4 - see https://github.com/llvm/llvm-project/issues/56550. CFLAGS='-gdwarf-4' meson setup build env: CC: ${{ matrix.compiler }} - name: Build run: | meson compile -C build - name: Test run: meson test -C build --print-errorlogs --no-suite python-tests - name: Test with valgrind run: meson test -C build --print-errorlogs --setup=valgrind --no-suite python-tests - name: Upload test logs uses: actions/upload-artifact@v3 if: failure() with: name: test logs path: | build/meson-logs/