#  Copyright 2021 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: Python Bindings Test

on:
  push:
    branches:
      - master
  pull_request:

jobs:
  build:
    strategy:
      fail-fast: false
      matrix:
        platform: [windows-latest, ubuntu-latest]
        python-version: ["3.12"]

    runs-on: ${{ matrix.platform }}

    steps:
    - uses: actions/checkout@v4
      with:
        submodules: true
    - uses: actions/setup-python@v5
      with:
        python-version: ${{ matrix.python-version }}
    - name: Add requirements
      run: python -m pip install --upgrade wheel setuptools

    - name: Build and install
      run: pip install --verbose .

    - name: Test
      run:  cd pycasbin/tests && python pycasbin_test_suite.py
