From 5ef0d460c60892340a2f3d7ab14293e43a525e75 Mon Sep 17 00:00:00 2001 From: "Stephen C. Pope" Date: Tue, 10 Feb 2026 10:59:33 -0700 Subject: [PATCH 1/2] testing with 3.14 --- .github/workflows/public-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/public-ci.yml b/.github/workflows/public-ci.yml index 28c7ad3..faab2f5 100644 --- a/.github/workflows/public-ci.yml +++ b/.github/workflows/public-ci.yml @@ -8,7 +8,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, macos-latest] - python-version: ['3.10', '3.11', '3.12', '3.13'] + python-version: ['3.10', '3.11', '3.12', '3.13', '3.14'] steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 From 78f4bce401cce512a98d1e32e60d078532a533fe Mon Sep 17 00:00:00 2001 From: "Stephen C. Pope" Date: Tue, 10 Feb 2026 11:22:40 -0700 Subject: [PATCH 2/2] skip tests that depend on fork for Py3.14 --- .../earthone/core/common/threading/tests/test_local.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/earthdaily/earthone/core/common/threading/tests/test_local.py b/earthdaily/earthone/core/common/threading/tests/test_local.py index 6e00919..23fe3b2 100644 --- a/earthdaily/earthone/core/common/threading/tests/test_local.py +++ b/earthdaily/earthone/core/common/threading/tests/test_local.py @@ -51,7 +51,7 @@ def test_thread_thread(self): # can't work on Windows. But the problem it solves for multiprocessing also doesn't # exist there. - @unittest.skipIf(sys.platform.startswith("win"), "forking not a concern on Windows") + @unittest.skipIf(sys.platform.startswith("win") or sys.version_info >= (3, 14), "forking not a concern on Windows") def test_wrapper_process(self): main_thread_id = self.wrapper.get() thread = threading.Thread(target=self._store_id) @@ -67,7 +67,7 @@ def test_wrapper_process(self): assert main_thread_id != process_id assert self.thread_id != process_id - @unittest.skipIf(sys.platform.startswith("win"), "forking not a concern on Windows") + @unittest.skipIf(sys.platform.startswith("win") or sys.version_info >= (3, 14), "forking not a concern on Windows") def test_wrapper_unused_in_main_process(self): queue = multiprocessing.Queue() process = multiprocessing.Process(target=self._send_id, args=(queue,)) @@ -76,7 +76,7 @@ def test_wrapper_unused_in_main_process(self): process.join() assert process_id != self.wrapper.get() - @unittest.skipIf(sys.platform.startswith("win"), "forking not a concern on Windows") + @unittest.skipIf(sys.platform.startswith("win") or sys.version_info >= (3, 14), "forking not a concern on Windows") def test_fork_from_fork(self): # A gross edge case discovered by Clark: if a process is forked from a forked process # things will go awry if we hadn't initialized the internal threading.local's pid.