name: tzdata contents on: push: branches: - master pull_request: workflow_call: workflow_dispatch: permissions: {} jobs: tests: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: python-version: ["2.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14", "3.14t"] os: ["ubuntu-latest", "windows-latest", "macos-latest"] exclude: - python-version: "2.7" include: - python-version: "2.7" os: "ubuntu-latest" use-container: true env: TOXENV: py container: image: ${{ matrix.use-container && format('python:{0}', matrix.python-version) || '' }} # zizmor: ignore[unpinned-images] steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - if: ${{ !matrix.use-container }} name: Set up Python ${{ matrix.python-version }} on ${{ matrix.os }} (non-containers) uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: ${{ matrix.python-version }} allow-prereleases: true - name: Install dependencies run: | python -m pip install --upgrade pip python -m pip install --upgrade tox - name: Run tests run: | tox other: runs-on: "ubuntu-latest" strategy: matrix: toxenv: ["precommit", "typing", "docs"] env: TOXENV: ${{ matrix.toxenv }} steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - name: ${{ matrix.toxenv }} uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: "3.x" - name: Install tox run: | python -m pip install --upgrade pip python -m pip install --upgrade tox - name: Run action run: | if [[ $TOXENV == "docs" ]]; then tox -- -j auto -bhtml -W -n -a --keep-going else tox fi