From e42eb57f2ffaf2de3d6babc540e18b08c1088c81 Mon Sep 17 00:00:00 2001 From: Damian Shaw Date: Fri, 12 Apr 2024 20:49:19 -0400 Subject: [PATCH 1/6] Run Python 3.13 in CI tests --- .github/workflows/ci.yml | 4 +++- noxfile.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 57273ff45bd..17f6d45a7c8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -114,6 +114,7 @@ jobs: - "3.10" - "3.11" - "3.12" + - "3.13" steps: - uses: actions/checkout@v4 @@ -167,7 +168,8 @@ jobs: # - "3.9" # - "3.10" # - "3.11" - - "3.12" + - "3.12" # Comment out when 3.13 is final + - "3.13" group: [1, 2] steps: diff --git a/noxfile.py b/noxfile.py index dc74654da53..92d0e243838 100644 --- a/noxfile.py +++ b/noxfile.py @@ -67,7 +67,7 @@ def should_update_common_wheels() -> bool: # ----------------------------------------------------------------------------- # Development Commands # ----------------------------------------------------------------------------- -@nox.session(python=["3.8", "3.9", "3.10", "3.11", "3.12", "pypy3"]) +@nox.session(python=["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "pypy3"]) def test(session: nox.Session) -> None: # Get the common wheels. if should_update_common_wheels(): From 6b7592d6f55bdb471b33db8d707fd6159e2bfa04 Mon Sep 17 00:00:00 2001 From: Damian Shaw Date: Sat, 13 Apr 2024 13:53:14 -0400 Subject: [PATCH 2/6] allow-prereleases --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 17f6d45a7c8..c10502b1e6f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -177,6 +177,7 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} + allow-prereleases: true # Temporarily required for Python 3.13 # We use C:\Temp (which is already available on the worker) # as a temporary directory for all of the tests because the From 2c77eacecd76124ead6c7178bdb61121a26da5d4 Mon Sep 17 00:00:00 2001 From: Damian Shaw Date: Sat, 13 Apr 2024 14:04:47 -0400 Subject: [PATCH 3/6] Update .github/workflows/ci.yml Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c10502b1e6f..161ee729f04 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -177,7 +177,7 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} - allow-prereleases: true # Temporarily required for Python 3.13 + allow-prereleases: true # We use C:\Temp (which is already available on the worker) # as a temporary directory for all of the tests because the From bc4d77d95d91133bf9264ec7cce19b0e9d726ccf Mon Sep 17 00:00:00 2001 From: Damian Shaw Date: Sun, 14 Apr 2024 14:28:24 -0400 Subject: [PATCH 4/6] For Python 3.13 source cffi from github --- tests/requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/requirements.txt b/tests/requirements.txt index 5ecb21f6bf6..7fba866c745 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,3 +1,4 @@ +cffi @ https://github.com/python-cffi/cffi/archive/refs/heads/main.zip; python_version > "3.12" # Temporary workaround for Python 3.13 until next CFFI release cryptography freezegun installer From 9c08d7d9d6662f30c22e9e3ddc6cd6dabc92ba5c Mon Sep 17 00:00:00 2001 From: Damian Shaw Date: Sun, 14 Apr 2024 14:29:41 -0400 Subject: [PATCH 5/6] NEWS ENTRY --- news/12620.trivial.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 news/12620.trivial.rst diff --git a/news/12620.trivial.rst b/news/12620.trivial.rst new file mode 100644 index 00000000000..52fa571ed17 --- /dev/null +++ b/news/12620.trivial.rst @@ -0,0 +1 @@ +Enable Python 3.13 CI tests From 90295fb97ea38966cdb50ca11c284e818f2fad2d Mon Sep 17 00:00:00 2001 From: Damian Shaw Date: Wed, 24 Apr 2024 22:05:06 -0400 Subject: [PATCH 6/6] Fix test_subdirectory_fragment test --- tests/unit/test_cache.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/unit/test_cache.py b/tests/unit/test_cache.py index d0fee69c39b..30cdb6ebece 100644 --- a/tests/unit/test_cache.py +++ b/tests/unit/test_cache.py @@ -13,11 +13,11 @@ def test_falsey_path_none() -> None: assert wc.cache_dir is None -def test_subdirectory_fragment() -> None: +def test_subdirectory_fragment(tmp_path: Path) -> None: """ Test the subdirectory URL fragment is part of the cache key. """ - wc = WheelCache("/tmp/.foo/") + wc = WheelCache(os.fspath(tmp_path)) link1 = Link("git+https://g.c/o/r#subdirectory=d1") link2 = Link("git+https://g.c/o/r#subdirectory=d2") assert wc.get_path_for_link(link1) != wc.get_path_for_link(link2)