Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ jobs:
contents: write

steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Set up Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
with:
python-version: "3.x"

Expand Down
32 changes: 21 additions & 11 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,20 +34,30 @@ jobs:
- os: windows-latest
python-version: "3.14"

env:
# Select the tox envs for this matrix entry (see `[gh]` in `tox.ini`).
TOX_GH_MAJOR_MINOR: ${{ matrix.python-version }}
# Use uv-managed interpreters everywhere.
UV_PYTHON_PREFERENCE: only-managed

steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
- name: Install uv
uses: astral-sh/setup-uv@07a047e608db84b3d8c06cd9a7c7dcc9c355c18e # v10.3.2
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
version-file: requirements-ci.txt
enable-cache: true
cache-dependency-glob: |
pyproject.toml
tox.ini
requirements-ci.txt

- name: Upgrade pip
run: python -m pip install --upgrade pip
- name: Install tox
run: uv tool install --python 3.14 --with-requirements requirements-ci.txt tox

- name: Install dependencies
run: pip install tox tox-gh-actions
- name: Setup test suite
run: tox run -v --notest --skip-missing-interpreters false

- name: Test with tox
run: tox
- name: Run test suite
run: tox run --skip-pkg-install
1 change: 1 addition & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,6 @@ include .coveragerc
include .editorconfig
include Makefile
include requirements.txt
include requirements-ci.txt
include requirements-docs.txt
include src/dotenv/py.typed
5 changes: 5 additions & 0 deletions requirements-ci.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Tooling installed by `.github/workflows/test.yml`.
tox==4.67.4
tox-gh==1.9.1
tox-uv==1.37.2
uv==0.13.6
21 changes: 12 additions & 9 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,27 +1,30 @@
[tox]
envlist = lint,py{310,311,312,313,314,314t},pypy3,manifest,coverage-report

[gh-actions]
[gh]
python =
3.10: py310
3.11: py311
3.12: py312
3.13: py313, lint, manifest
3.14: py314
3.14t: py314t
pypy-3.11: pypy3
3.10 = py310
3.11 = py311
3.12 = py312
3.13 = py313, lint, manifest
3.14 = py314
3.14t = py314t
pypy3.11 = pypy3

[testenv]
deps =
pytest
pytest-cov
click
py{310,311,312,313,314,314t,pypy3}: ipython
py{310,311,312,313,314,314t},pypy3: ipython
commands = pytest --cov --cov-report=term-missing {posargs}
depends =
py{310,311,312,313,314,314t},pypy3: coverage-clean
coverage-report: py{310,311,312,313,314,314t},pypy3

[testenv:pypy3]
base_python = pypy3.11

[testenv:lint]
skip_install = true
deps =
Expand Down
Loading