From ef8fd7f66e195a88a9d35d905ee0de00d94c9639 Mon Sep 17 00:00:00 2001
From: "alexey.lysiuk" <alexey.lysiuk@gmail.com>
Date: Sat, 4 Jan 2020 15:11:09 +0200
Subject: [PATCH] - added Continuous Integration via GitHub Actions

---
 .github/workflows/continuous_integration.yml | 61 ++++++++++++++++++++
 1 file changed, 61 insertions(+)
 create mode 100644 .github/workflows/continuous_integration.yml

diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml
new file mode 100644
index 0000000..be92e8c
--- /dev/null
+++ b/.github/workflows/continuous_integration.yml
@@ -0,0 +1,61 @@
+name: Continuous Integration
+
+on: [push, pull_request]
+
+jobs:
+  build:
+    name: ${{ matrix.config.name }}
+    runs-on: ${{ matrix.config.os }}
+    strategy:
+      fail-fast: false
+      matrix:
+        config:
+        - {
+            name: "Visual Studio 64-bit",
+            os: windows-latest,
+            build_type: "Release",
+            extra_options: "-A x64"
+          }
+        - {
+            name: "Visual Studio 32-bit",
+            os: windows-latest,
+            build_type: "Release",
+            extra_options: "-A Win32"
+          }
+        - {
+            name: "macOS Clang",
+            os: macos-latest,
+            build_type: "Release"
+          }
+        - {
+            name: "Linux GCC",
+            os: ubuntu-latest,
+            build_type: "Release"
+          }
+        - {
+            name: "Linux Clang",
+            os: ubuntu-latest,
+            build_type: "Release",
+            extra_options: "-DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++"
+          }
+
+    steps:
+    - uses: actions/checkout@v1
+
+    - name: Configure
+      shell: bash
+      run: |
+        mkdir build
+        cd build
+        cmake -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} ${{ matrix.config.extra_options }} ..
+
+    - name: Build
+      shell: bash
+      run: |
+        cd build
+        if [[ "${{ runner.os }}" == 'Windows' ]]; then
+          cmake --build . --config ${{ matrix.config.build_type }} -- -maxcpucount -verbosity:minimal
+        else
+          cmake --build . -- --jobs=2 --keep-going
+        fi
+