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
|
name: Build
on: [pull_request, push]
jobs:
build:
name: Build on Linux
runs-on: ubuntu-latest
steps:
- name: "Checkout sources"
uses: actions/checkout@v4
- name: "Install dependencies"
run: sudo apt-get install meson libprotobuf-c-dev protobuf-c-compiler check
- name: "Configure project"
run: meson setup build
- name: "Build project"
run: meson compile -C build
- name: "Test project"
run: meson test -C build --suite libomemo-c
build-cmake:
name: Build on Linux with CMake
runs-on: ubuntu-latest
steps:
- name: "Checkout sources"
uses: actions/checkout@v4
- name: "Install dependencies"
run: sudo apt-get install libprotobuf-c-dev protobuf-c-compiler check
- name: "Configure project"
run: cmake -B build -DBUILD_TESTING=yes
- name: "Build project"
run: cmake --build build
- name: "Test project"
run: ctest --test-dir build
build-wraps:
name: Build on Linux with wraps
runs-on: ubuntu-latest
steps:
- name: "Checkout sources"
uses: actions/checkout@v4
- name: "Install dependencies"
run: |
sudo apt-get install meson
meson wrap update-db
- name: "Configure project"
run: meson setup build
- name: "Build project"
run: meson compile -C build
- name: "Test project"
run: meson test -C build --suite libomemo-c
build-macos:
name: Build on macOS
runs-on: macos-latest
steps:
- name: "Checkout sources"
uses: actions/checkout@v4
- name: "Install dependencies"
run: brew install meson protobuf-c check
- name: "Configure project"
run: meson setup build
- name: "Build project"
run: meson compile -C build
- name: "Test project"
run: meson test -C build --suite libomemo-c
build-windows:
name: Build on Windows with wraps
runs-on: windows-latest
steps:
- name: "Checkout sources"
uses: actions/checkout@v4
- name: "Install dependencies"
run: |
choco install ninja
python -m pip install meson
meson wrap update-db
- name: "Configure Microsoft Visual Studio DevShell"
uses: bus1/cabuild/action/msdevshell@v1
with:
architecture: x64
- name: "Configure project"
run: meson setup build
- name: "Build project"
run: meson compile -C build
- name: "Test project"
run: meson test -C build --suite libomemo-c
|