| name: CI |
| |
| on: |
| push: |
| branches: [ master ] |
| pull_request: |
| branches: [ master ] |
| |
| jobs: |
| linux: |
| runs-on: ubuntu-18.04 |
| strategy: |
| matrix: |
| compiler: [clang, gcc] |
| steps: |
| - uses: actions/checkout@v2 |
| - uses: actions/setup-python@v1 |
| with: |
| python-version: '3.7' |
| - name: Install dependencies |
| run: | |
| python -m pip install --upgrade pip meson |
| sudo apt update -y |
| sudo env DEBIAN_FRONTEND=noninteractive apt install -y \ |
| doxygen libxcb-xkb-dev valgrind ninja-build \ |
| libwayland-dev wayland-protocols bison graphviz |
| - name: Setup |
| run: | |
| meson setup build |
| env: |
| CC: ${{ matrix.compiler }} |
| - name: Build |
| run: | |
| meson compile -C build |
| - name: Test |
| run: |
| meson test -C build --print-errorlogs --setup=valgrind --no-suite python-tests |
| |
| macos: |
| runs-on: macos-10.15 |
| steps: |
| - uses: actions/checkout@v2 |
| - uses: actions/setup-python@v1 |
| with: |
| python-version: '3.7' |
| - name: Install dependencies |
| run: | |
| python -m pip install --upgrade pip meson |
| brew install libxml2 doxygen bison ninja |
| brew link bison --force |
| env: |
| HOMEBREW_NO_AUTO_UPDATE: 1 |
| HOMEBREW_NO_INSTALL_CLEANUP: 1 |
| - name: Setup |
| run: | |
| PATH="/usr/local/opt/bison/bin:${PATH}" meson setup -Denable-wayland=false -Denable-x11=false build |
| - name: Build |
| run: | |
| PATH="/usr/local/opt/bison/bin:${PATH}" meson compile -C build |
| - name: Test |
| run: |
| meson test -C build --print-errorlogs |
| |
| windows: |
| runs-on: windows-2019 |
| steps: |
| - uses: actions/checkout@v2 |
| - uses: actions/setup-python@v1 |
| with: |
| python-version: '3.7' |
| - name: Install dependencies |
| shell: powershell |
| run: | |
| python -m pip install --upgrade pip meson |
| Invoke-WebRequest -Uri https://github.com/ninja-build/ninja/releases/download/v1.10.1/ninja-win.zip -OutFile ninja.zip |
| 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 |
| Expand-Archive -Path win_flex_bison.zip -DestinationPath bin |
| Expand-Archive -Path ninja.zip -DestinationPath bin |
| Write-Output ((Get-Location).ToString() + "./bin") | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 |
| - name: Setup |
| shell: cmd |
| run: | |
| call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 |
| meson setup -Denable-wayland=false -Denable-x11=false -Denable-docs=false -Denable-xkbregistry=false build |
| env: |
| CC: cl |
| - name: Build |
| shell: cmd |
| run: | |
| call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 |
| meson compile -C build |
| - name: Test |
| run: |
| meson test -C build --print-errorlogs |