• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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