| name: CI | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - "!dependabot/**" | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| test: | |
| name: Python ${{ matrix.python }} on ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python: | |
| - '3.9' | |
| - '3.10' | |
| - '3.11' | |
| - '3.12' | |
| - '3.13' | |
| - '3.14' | |
| os: | |
| - ubuntu-latest | |
| include: | |
| - os: macos-latest | |
| python: '3.9' | |
| - os: macos-latest | |
| python: '3.14' | |
| - os: windows-latest | |
| python: '3.9' | |
| - os: windows-latest | |
| python: '3.14' | |
| steps: | |
| - name: Clone repository | |
| uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Set up Python | |
| uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0 | |
| with: | |
| python-version: ${{ matrix.python }} | |
| cache: pip | |
| - name: Print versions | |
| run: | | |
| python --version | |
| pip --version | |
| - name: Install Python dependencies | |
| run: pip install -r requirements.txt | |
| - name: Run lint | |
| run: flake8 | |
| - name: Run makeHosts.py | |
| run: python makeHosts.py | |
| - name: Run tests | |
| run: python testUpdateHostsFile.py | |