name: Python Tests on: push: branches: [ "main", "master" ] paths: - "**.py" - "requirements.txt" - "tests/**" - ".github/workflows/python-tests.yml" pull_request: paths: - "**.py" - "requirements.txt" - "tests/**" - ".github/workflows/python-tests.yml" workflow_dispatch: jobs: tests: runs-on: ubuntu-latest strategy: fail-fast: false matrix: python-version: [ "3.11", "3.12", "3.13" ] steps: - name: Checkout uses: actions/checkout@v6 - name: Set up Python uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip python -m pip install -r requirements.txt - name: Syntax check run: | python -m py_compile web_outlook_app.py python -m py_compile outlook_mail_reader.py - name: Run unit tests run: python -m unittest discover -s tests -v