name: Tests

on: [push, pull_request, workflow_dispatch]

jobs:
  latest:
    name: Latest Python Stable Release
    runs-on: ubuntu-latest

    strategy:
      matrix:
        python-version: ["3.11"]

    steps:
      - uses: actions/checkout@v3
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip wheel flake8
      - name: Build
        run: |
          make build
      - name: Unit Tests
        run: |
          cd build/dist/pytz/tests
          python test_lazy.py -vv
          python test_tzinfo.py -vv
      - name: Documentation Tests
        run: |
          cd build/dist/pytz/tests
          python test_docs.py -vv
      - name: zdump Tests
        run: |
          python gen_tests.py
          python test_zdump.py -vv

  legacy:
    name: Older Python Releases
    runs-on: ubuntu-20.04

    strategy:
      matrix:
        python-version: ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10"]

    steps:
      - uses: actions/checkout@v3
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip wheel flake8
      - name: Build
        run: |
          make build
      - name: Unit Tests
        run: |
          cd build/dist/pytz/tests
          python test_lazy.py -vv
          python test_tzinfo.py -vv
      - name: Documentation Tests
        run: |
          cd build/dist/pytz/tests
          python test_docs.py -vv
