Make github CI great again The current CI doesn't work and can be fixed. To steps, use a matrix to build on various OS + allow platform specific flags. The linux build should cover a wider case of video backends.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 0152283..6a62eee 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -3,44 +3,54 @@ name: Build
on: [push, pull_request]
jobs:
- mac:
- runs-on: macos-latest
- steps:
- - uses: actions/checkout@v1
-
- - name: Build
- run: |
- mkdir build
- cd build
- cmake ..
- cmake --build .
-
- linux:
- runs-on: ubuntu-20.04
- steps:
- - uses: actions/checkout@v1
-
- - name: Setup
- run: |
- sudo apt-get update
- sudo apt-get install wayland-protocols pkg-config ninja-build
-
- - name: Linux
- run: |
- mkdir build
- cd build
- cmake .. -GNinja
- cmake --build .
-
- windows:
- runs-on: windows-latest
-
- steps:
- - uses: actions/checkout@v1
-
- - name: Build
- run: |
- mkdir build
- cd build
- cmake ..
- cmake --build .
+ Build:
+ name: ${{ matrix.platform.name }}
+ runs-on: ${{ matrix.platform.os }}
+ strategy:
+ matrix:
+ platform:
+ - { name: Windows, os: windows-latest }
+ - { name: Linux, os: ubuntu-20.04, flags: -GNinja }
+ - { name: MacOS, os: macos-latest }
+ steps:
+ - name: Setup Linux dependencies
+ if: runner.os == 'Linux'
+ run: |
+ sudo apt-get update
+ sudo apt-get install wayland-protocols \
+ pkg-config \
+ ninja-build \
+ libasound2-dev \
+ libdbus-1-dev \
+ libegl1-mesa-dev \
+ libgl1-mesa-dev \
+ libgles2-mesa-dev \
+ libglu1-mesa-dev \
+ libibus-1.0-dev \
+ libpulse-dev \
+ libsdl2-2.0-0 \
+ libsndio-dev \
+ libudev-dev \
+ libwayland-dev \
+ libwayland-client++0 \
+ wayland-scanner++ \
+ libwayland-cursor++0 \
+ libx11-dev \
+ libxcursor-dev \
+ libxext-dev \
+ libxi-dev \
+ libxinerama-dev \
+ libxkbcommon-dev \
+ libxrandr-dev \
+ libxss-dev \
+ libxt-dev \
+ libxv-dev \
+ libxxf86vm-dev \
+ libdrm-dev \
+ libgbm-dev\
+ libpulse-dev
+ - uses: actions/checkout@v2
+ - name: Configure CMake
+ run: cmake -B build ${{ matrix.platform.flags }}
+ - name: Build
+ run: cmake --build build/