feat: Add ci.yml for CI setup (#8)

feat: add ci.yml for CI setup
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..0b3660e
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,83 @@
+#  Copyright 2022 The casbin Authors. All Rights Reserved.
+
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+
+#     http://www.apache.org/licenses/LICENSE-2.0
+
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+name: CI
+
+on: [push, pull_request]
+
+jobs:
+  linux:
+    name: "Linux Ubuntu 20.04 (GNU 9.3.0)"
+    runs-on: ubuntu-20.04
+    steps:
+      - name: Checkout
+        id: checkout
+        uses: actions/checkout@v2
+      - name: Configuring CMake files
+        id: building-files
+        run: |
+          mkdir build
+          cd build
+          cmake .. -DCMAKE_BUILD_TYPE=Release
+      - name: Building library
+        id: building-lib
+        run: |
+          cd build
+          cmake --build . --config Release --target all
+      - name: Cleanup
+        id: clean-up
+        run: |
+          rm -r build
+
+  windows:
+    name: "Windows 10 (MSVC 19.29)"
+    runs-on: windows-latest
+    steps:
+      - name: Checkout
+        id: checkout
+        uses: actions/checkout@v2
+      - name: Configuring CMake files
+        id: building-files
+        run: |
+          mkdir build
+          cd build
+          cmake ..
+      - name: Building library
+        id: building-lib
+        run: |
+          cd build
+          cmake --build . --config Debug --target ALL_BUILD
+
+  macos:
+    name: "macOS Catalina 10.15 (AppleClang 12.0)"
+    runs-on: macos-latest
+    steps:
+      - name: Checkout
+        id: checkout
+        uses: actions/checkout@v2
+      - name: Configuring CMake files
+        id: building-files
+        run: |
+          mkdir build
+          cd build
+          cmake ..
+      - name: Building library
+        id: building-lib
+        run: |
+          cd build
+          cmake --build . --config Debug --target all
+      - name: Cleanup
+        id: clean-up
+        run: |
+          rm -r build
\ No newline at end of file