diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..765b6343a --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,67 @@ +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 + - run: call scripts\set_compiler_env.bat + - 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 }} $env:COMMON_ARGS -DGOBJECT_INTROSPECTION=True -DICAL_GLIB_VAPI=True + - 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 + - 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 . +