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 }} timeout-minutes: 15 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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Set up Python uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.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