on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
        python-version: [ 'pypy-2.7', '3.8', '3.14' ]
        exclude:
          - os: macos-latest
            python-version: 'pypy-2.7'
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
        with:
          fetch-depth: 1
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v5
        with:
          python-version: ${{ matrix.python-version }}
      - name: Basic import test
        run: python -c "import sqlmap; import sqlmapapi"
      - name: Smoke test
        run: python sqlmap.py --smoke
      - name: Vuln test
        run: python sqlmap.py --vuln
