From ee2705e7f5003926c1df2b6d06144c64d8e701ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Corentin=20No=C3=ABl?= Date: Wed, 20 Sep 2023 13:05:31 +0200 Subject: [PATCH] Add Github Actions --- .github/workflows/build.yml | 68 +++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..ee0b7be11 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,68 @@ +name: Build tests +on: + - push +env: + COMMON_ARGS: -DLIBICAL_BUILD_TESTING=True -DENABLE_GTK_DOC=True -DICAL_GLIB=True +jobs: + build-windows: + strategy: + matrix: + configuration: + - Debug + - Release + runs-on: windows-2019 + steps: + - uses: actions/checkout@v2 + - name: Configure project + run: | + call scripts\set_compiler_env.bat + mkdir build + cmake -B build --warn-uninitialized -Werror=dev -G Ninja -DLIBICAL_DEVMODE_MEMORY_CONSISTENCY=False -DCMAKE_BUILD_TYPE=${{ matrix.configuration }} $env:COMMON_ARGS -DGOBJECT_INTROSPECTION=True -DICAL_GLIB_VAPI=True + shell: cmd + - name: Build project + run: cmake -B build --build . + - name: Test project + run: cd build && ctest --test-dir . + + build-ubuntu: + strategy: + matrix: + configuration: + - Debug + - Release + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v2 + - name: Install dependencies + run: sudo apt-get -y install gtk-doc-tools xml-core libdb-dev gobject-introspection libgirepository1.0-dev valac cmake ninja-build + - name: Configure project + run: | + mkdir build + cmake -B build --warn-uninitialized -Werror=dev -G Ninja -DLIBICAL_DEVMODE_MEMORY_CONSISTENCY=False -DCMAKE_BUILD_TYPE=${{ matrix.configuration }} $COMMON_ARGS -DGOBJECT_INTROSPECTION=True -DICAL_GLIB_VAPI=True + - name: Build project + run: cmake --build build + - name: Test project + run: cd build && ctest --test-dir . + + build-macos: + strategy: + matrix: + configuration: + - Debug + - Release + runs-on: macos-12 + steps: + - uses: actions/checkout@v2 + - name: Install dependencies + run: brew install pkg-config ninja gtk-doc glib libxml2 icu4c berkeley-db + - name: Configure project + run: | + export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig + export XML_CATALOG_FILES=/usr/local/etc/xml/catalog + mkdir build + cmake -B build --warn-uninitialized -Werror=dev -G Ninja -DLIBICAL_DEVMODE_MEMORY_CONSISTENCY=True -DCMAKE_BUILD_TYPE=${{ matrix.configuration }} $COMMON_ARGS -DGOBJECT_INTROSPECTION=False -DICAL_GLIB_VAPI=False + - name: Build project + run: cmake --build build + - name: Test project + run: cd build && ctest --test-dir . +