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