Files
chia-blockchain/.github/workflows/pre-commit.yml
T
Earle LoweandGitHub c32a4a7493 Add Python 3.14 support (#20195)
* First pass add 3.14

* Update bitarray

* Update markupsafe

* Update zstd

* Update tach to version with 3.14 support

* Changes for 3.14 related things

* Refactor shutdown handling in sync method

* Ignore unclosed database ResourceWarning

Added a new warning to ignore for unclosed database resources.

* Update pytest.ini to ignore additional warnings

* ignore resourcewarnings about tempdir cleanup

* Minor cleanup for tests running under python 3.14

* Reduce consensus tests for test_ban_for_mismatched_tx_cost_fee

* make sure to close RPC client at end of test

* different idea for TempFile

* oh, no cleanup function

* small fixes for tests detected by 3.14

* update pytest.ini

* ignore sqlite errors during closing in __del__

* add code to ignore deprecatewarnings for loop policy

* Pass in ClientSession to wschiaconnection for proper cleanup

* Some more resource cleanup

* Trying to find unclosed sessions

* One more time needing a close

* wait for harvesters to connect to the farmer

* properly teardown vdf_server using context manager

* Testing cleanup for simulator tests

* Add in a sleep to allow sockets time to cleanup

* Revert "Testing cleanup for simulator tests"

This reverts commit c5a4ef0cc3.

* Revert "properly teardown vdf_server using context manager"

This reverts commit 18b456a7b6.

* Revert "Revert "Testing cleanup for simulator tests""

This reverts commit 8c8efc2e03.

* vdf_server cleanup

* attempt 47 of timelord cleanup

* Some other cleanup fixes in tests

* yet another attempt at timelord shutdown

* Some more adjustments for 3.14

* ignore unclosed socket resource warnings

* some more adjustments and cleanup

* remove commented code

* correct poetry.lock file

* Address some review comments

* fix merge indentation

* fix install script print

* update requests

* fix problems with timelord tests on 3.14

* Make sure to close dummy session on any exception

* Use different cleanup pattern to help with flakes on Windows

* better shutdown handling

* hopefully better awaiting for cleanup

* yet more better timelord cleanup

* some test adjustments

* more time for cleanup
2026-05-13 09:32:01 -05:00

85 lines
2.2 KiB
YAML

name: 🚨 pre-commit
on:
pull_request:
push:
branches:
- "long_lived/**"
- main
- "release/**"
concurrency:
group: ${{ github.event_name == 'pull_request' && format('{0}-{1}', github.workflow_ref, github.event.pull_request.number) || github.run_id }}
cancel-in-progress: true
jobs:
pre-commit:
name: ${{ matrix.os.name }} ${{ matrix.arch.name }} ${{ matrix.python.major_dot_minor }}
runs-on: ${{ matrix.os.runs-on[matrix.arch.matrix] }}
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
os:
- name: Linux
matrix: linux
runs-on:
intel: ubuntu-latest
arm: ubuntu-24.04-arm
- name: macOS
matrix: macos
runs-on:
intel: "macos-15-intel"
arm: macos-latest
- name: Windows
matrix: windows
runs-on:
intel: windows-latest
arch:
- name: ARM64
matrix: arm
- name: Intel
matrix: intel
python:
- major_dot_minor: "3.10"
- major_dot_minor: "3.11"
- major_dot_minor: "3.12"
- major_dot_minor: "3.13"
- major_dot_minor: "3.14"
exclude:
- os:
matrix: windows
arch:
matrix: arm
# Back to self hosted mac intel runners, which we have very few of
- os:
matrix: macos
arch:
matrix: intel
steps:
- name: Clean workspace
uses: Chia-Network/actions/clean-workspace@main
- uses: Chia-Network/actions/git-mark-workspace-safe@main
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: Chia-Network/actions/setup-python@main
with:
python-version: ${{ matrix.python.major_dot_minor }}
- uses: ./.github/actions/install
with:
python-version: ${{ matrix.python.major_dot_minor }}
development: true
- uses: chia-network/actions/activate-venv@main
- env:
CHIA_MANAGE_CLVM_CHECK_USE_CACHE: "false"
CHIA_MANAGE_MYPY_CHECK_EXCLUSIONS: "true"
run: pre-commit run --all-files --verbose