1
+ name : Build
2
+ on : [pull_request, push]
3
+ jobs :
4
+ build :
5
+ name : Build on Linux
6
+ runs-on : ubuntu-latest
7
+ steps :
8
+ - name : " Checkout sources"
9
+ uses : actions/checkout@v4
10
+ - name : " Install dependencies"
11
+ run : sudo apt-get install meson libprotobuf-c-dev protobuf-c-compiler check
12
+ - name : " Configure project"
13
+ run : meson setup build
14
+ - name : " Build project"
15
+ run : meson compile -C build
16
+ - name : " Test project"
17
+ run : meson test -C build --suite libomemo-c
18
+ build-cmake :
19
+ name : Build on Linux with CMake
20
+ runs-on : ubuntu-latest
21
+ steps :
22
+ - name : " Checkout sources"
23
+ uses : actions/checkout@v4
24
+ - name : " Install dependencies"
25
+ run : sudo apt-get install libprotobuf-c-dev protobuf-c-compiler check
26
+ - name : " Configure project"
27
+ run : cmake -B build -DBUILD_TESTING=yes
28
+ - name : " Build project"
29
+ run : cmake --build build
30
+ - name : " Test project"
31
+ run : ctest --test-dir build
32
+ build-wraps :
33
+ name : Build on Linux with wraps
34
+ runs-on : ubuntu-latest
35
+ steps :
36
+ - name : " Checkout sources"
37
+ uses : actions/checkout@v4
38
+ - name : " Install dependencies"
39
+ run : |
40
+ sudo apt-get install meson
41
+ meson wrap update-db
42
+ - name : " Configure project"
43
+ run : meson setup build
44
+ - name : " Build project"
45
+ run : meson compile -C build
46
+ - name : " Test project"
47
+ run : meson test -C build --suite libomemo-c
48
+ build-macos :
49
+ name : Build on macOS
50
+ runs-on : macos-latest
51
+ steps :
52
+ - name : " Checkout sources"
53
+ uses : actions/checkout@v4
54
+ - name : " Install dependencies"
55
+ run : brew install meson protobuf-c check
56
+ - name : " Configure project"
57
+ run : meson setup build
58
+ - name : " Build project"
59
+ run : meson compile -C build
60
+ - name : " Test project"
61
+ run : meson test -C build --suite libomemo-c
62
+ build-windows :
63
+ name : Build on Windows with wraps
64
+ runs-on : windows-latest
65
+ steps :
66
+ - name : " Checkout sources"
67
+ uses : actions/checkout@v4
68
+ - name : " Install dependencies"
69
+ run : |
70
+ choco install ninja
71
+ python -m pip install meson
72
+ meson wrap update-db
73
+ - name : " Configure Microsoft Visual Studio DevShell"
74
+ uses : bus1/cabuild/action/msdevshell@v1
75
+ with :
76
+ architecture : x64
77
+ - name : " Configure project"
78
+ run : meson setup build
79
+ - name : " Build project"
80
+ run : meson compile -C build
81
+ - name : " Test project"
82
+ run : meson test -C build --suite libomemo-c
0 commit comments