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@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: persist-credentials: false - name: Set up Python uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.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