ci: enable xkbregistry on macos job
[platform/upstream/libxkbcommon.git] / .github / workflows / main.yml
1 name: CI
2
3 on:
4   push:
5     branches: [ master ]
6   pull_request:
7     branches: [ master ]
8
9 jobs:
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 ("::add-path::" + (Get-Location) + "./bin")
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