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 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.