1name: CI 2 3on: 4 push: 5 branches: [ master ] 6 pull_request: 7 branches: [ master ] 8 9jobs: 10 linux: 11 runs-on: ubuntu-18.04 12 strategy: 13 matrix: 14 compiler: [clang, gcc] 15 steps: 16 - uses: actions/checkout@v2 17 - uses: actions/setup-python@v1 18 with: 19 python-version: '3.7' 20 - name: Install dependencies 21 run: | 22 python -m pip install --upgrade pip meson 23 sudo apt update -y 24 sudo env DEBIAN_FRONTEND=noninteractive apt install -y \ 25 doxygen libxcb-xkb-dev valgrind ninja-build \ 26 libwayland-dev wayland-protocols bison graphviz 27 - name: Setup 28 run: | 29 meson setup build 30 env: 31 CC: ${{ matrix.compiler }} 32 - name: Build 33 run: | 34 meson compile -C build 35 - name: Test 36 run: 37 meson test -C build --print-errorlogs --setup=valgrind --no-suite python-tests 38 39 macos: 40 runs-on: macos-10.15 41 steps: 42 - uses: actions/checkout@v2 43 - uses: actions/setup-python@v1 44 with: 45 python-version: '3.7' 46 - name: Install dependencies 47 run: | 48 python -m pip install --upgrade pip meson 49 brew install libxml2 doxygen bison ninja 50 brew link bison --force 51 env: 52 HOMEBREW_NO_AUTO_UPDATE: 1 53 HOMEBREW_NO_INSTALL_CLEANUP: 1 54 - name: Setup 55 run: | 56 PATH="/usr/local/opt/bison/bin:${PATH}" meson setup -Denable-wayland=false -Denable-x11=false build 57 - name: Build 58 run: | 59 PATH="/usr/local/opt/bison/bin:${PATH}" meson compile -C build 60 - name: Test 61 run: 62 meson test -C build --print-errorlogs 63 64 windows: 65 runs-on: windows-2019 66 steps: 67 - uses: actions/checkout@v2 68 - uses: actions/setup-python@v1 69 with: 70 python-version: '3.7' 71 - name: Install dependencies 72 shell: powershell 73 run: | 74 python -m pip install --upgrade pip meson 75 Invoke-WebRequest -Uri https://github.com/ninja-build/ninja/releases/download/v1.10.1/ninja-win.zip -OutFile ninja.zip 76 Invoke-WebRequest -Uri https://github.com/lexxmark/winflexbison/releases/download/v2.5.23/win_flex_bison-2.5.23.zip -OutFile win_flex_bison.zip 77 Expand-Archive -Path win_flex_bison.zip -DestinationPath bin 78 Expand-Archive -Path ninja.zip -DestinationPath bin 79 Write-Output ((Get-Location).ToString() + "./bin") | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 80 - name: Setup 81 shell: cmd 82 run: | 83 call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 84 meson setup -Denable-wayland=false -Denable-x11=false -Denable-docs=false -Denable-xkbregistry=false build 85 env: 86 CC: cl 87 - name: Build 88 shell: cmd 89 run: | 90 call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 91 meson compile -C build 92 - name: Test 93 run: 94 meson test -C build --print-errorlogs 95