Commit Graph
65 Commits
Author SHA1 Message Date
dependabot[bot] 2eb1e15266 build(deps): bump actions/upload-artifact from 4 to 5 (#20203)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-11 09:14:18 -07:00
e8f5a17888 python 3.13 support (#19123)
* python 3.13 support

* some more

* 3.13 for dep checks

* more 3.13  *confused*

* fixup

* fixup

* update expected signature in 3.13

* fixup _attach/_detach hinting and testing

* ban freethreading

* Fix trailing comma in list

* replace legacy kw_only_dataclass decorator

* Adjust check for python version

* Remove debugging output

* Use reruns for 3.13+Windows flakes only

* re-lock poetry

---------

Co-authored-by: Earle Lowe <e.lowe@chia.net>
Co-authored-by: Matt Hauff <quexington@gmail.com>
2025-10-23 15:41:26 -05:00
Matt Hauff f4f7fad91b [LABS-247] Move defaults from 3.10 to 3.12 (#20115)
* initial changes

* poetry fix

* Address ruff

* Install scripts issues

* Experiment a little bit

* Okay now try for rocky linux and use 3.12 instead

* Remove the now unused thing

* Move defaults from 3.10 to 3.12

* Setup python3.12

* debug

* debug

* whoops

* listen I really dont know what Im doing

* debug

* debug

* debug

* debug

* debug

* debug

* debug

* debug

* debug

* debug

* Use Chia action

* Use an upstream change

* debug

* Move the python setup to the install action

* try something dumb

* back to sh

* debug

* Cleanup after extensive debug

* Add SQLite version report

* test with new images

* remove python setup

* try this image?

* back to this

* Try hyphenless

* Use published pyhon312 tags
2025-10-17 06:32:03 -07:00
Matt HauffandKyle Altendorf e947dd14c7 [LABS-244] Remove python 3.9 support (#20099)
* initial changes

* poetry fix

* Address ruff

* Install scripts issues

* Experiment a little bit

* Okay now try for rocky linux and use 3.12 instead

* Remove the now unused thing

* Use dnf for consistency

* Simplify installations

* Still need git

* relock poetry with 2.2.0

* relock poetry with 2.2.0

* try `git checkout main poetry.lock && .penv/bin/poetry lock` on altendky's system

---------

Co-authored-by: Kyle Altendorf <sda@fstab.net>
2025-10-14 07:19:52 -07:00
Chris MarslenderandKyle Altendorf 80ea5fe932 MacOS intel tests on macos-15-intel (#20120)
* MacOS intel tests on macos-15-intel

* Simplify allowed-skips condition in test.yml

https://github.com/Chia-Network/chia-blockchain/actions/runs/18106707994/job/51522945611?pr=20120#step:8:51

* Skip macOS intel timelord cases in workflow

Commented out macOS timelord cases due to issues.

* Fix comment syntax for macOS timelord cases

Updated comments to use hash symbol for skipping macOS cases.

---------

Co-authored-by: Kyle Altendorf <sda@fstab.net>
2025-10-01 12:53:48 -05:00
dependabot[bot] eceecddd1c build(deps): bump actions/checkout from 4 to 5 (#19946)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-27 13:36:47 -07:00
Arvid Norberg d0f64c6cbc Refactor BlockTools (#19492)
* simplify BlockTools by making include_transactions=True independent from transaction_data

* improve error message in validate_coins()

* we don't know if a block will become a transaction block, we we can't mutate state as if spends will make it in until once it's confirmed

* factor out NewBlockGenerator creation into a function

* remove unused variable

* use latest version of test-cache

* extend timeout

* fix coverage

* extend sync timeout
2025-04-16 11:25:52 -05:00
Arvid Norberg f241889b41 [CHIA-2541] validate more of cached test chains (#19463) 2025-04-09 07:48:40 -07:00
Arvid Norberg 7aa76bc116 [CHIA-2540] Compute block cost (#19397)
* predict exact block cost, instead of re-running the generator

* fixup workflow for test-bundles

* fixup

* review comments
2025-04-02 09:37:45 -05:00
Arvid Norberg 894c68fb5c validate cached blockchains (#18527)
* when loading the cached test blockchains, check that the first few blocks match what we would have generated if it wasn't cached. This should make CI highlight whenever BlockTools changes some way of how chains are generated that alters the chain output. When this happens, we should also update the test-cache repo

* update test-cache version to use for CI

* exempt debug message from test coverage
2025-03-18 09:54:28 -07:00
bbc8d253d3 avoid asyncio bug in 3.12.8 (#19225)
* avoid asyncio bug in 3.12.8

* Update .github/workflows/test-single.yml

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* Update .github/workflows/test-single.yml

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* Update .github/workflows/test-single.yml

Co-authored-by: Kyle Altendorf <sda@fstab.net>

---------

Co-authored-by: Earle Lowe <30607889+emlowe@users.noreply.github.com>
Co-authored-by: Kyle Altendorf <sda@fstab.net>
2025-02-05 18:19:02 -07:00
Kyle Altendorf 9cebffdbdb actionlint without VALIDATE_GITHUB_ACTIONS: true (#18962)
* `VALIDATE_GITHUB_ACTIONS: true`

* fixups

* there

* and the config...

* wrong way, back again

* shellcheck

* tweak

* wrong place

* see ya super-linter

* Revert "wrong place"

This reverts commit 478fde7b2e.

* -shellcheck

* reintroduce actionlint/shellcheck issue to show failure

* Revert "reintroduce actionlint/shellcheck issue to show failure"

This reverts commit 24b034522f.

* blech
2024-12-03 10:30:20 -07:00
Kyle Altendorf bcf5a6580f squash emoji-suppressing typo (#18911) 2024-11-26 14:22:09 -07:00
Kyle Altendorf c6ad3b4cb8 add arch emojis 🌀💪✳️ (#18864)
* add arch emojis 🌀💪✳️

* fixup
2024-11-13 12:54:06 -07:00
Kyle Altendorf 9c8557a1f8 Remove Python 3.8 support and update source to 3.9 standards (#18687)
* manual python 3.8 removals

* poetry

* pyupgrade

* black

* isort

* manually tidy imports

* work around shadowed type

* catch up build network protocol files for pyupgrade changes

* placate pylint

* re-enable 20.04

* placate flake8
2024-10-16 14:21:15 -07:00
Kyle Altendorf 6560be415c increase compatibility with upload action v4.4.0 (#18551)
* increase compatibility with upload action v4.4.0

https://github.com/actions/upload-artifact/releases/tag/v4.4.0

* Update test-single.yml

* Update test.yml

* Update test.yml

* Update test-single.yml
2024-09-05 05:50:28 +08:00
Arvid Norberg ab8ea7eb3c update long-reorg tests along with the reorg test chains (#18517)
update long-reorg tests along with the reorg test chains, to make the fork point be at a height > 0
2024-09-03 23:21:51 +08:00
Kyle Altendorf ddfd1f9567 correct concurrency groups (#18498)
* correct concurrency groups

* ref
2024-08-19 15:27:05 -07:00
Kyle Altendorf a3c0cd3c57 poetry cache (#18479)
* enable poetry mode for python package cache

* test the branch

* Revert "test the branch"

This reverts commit d785413ede.
2024-08-19 23:53:39 +08:00
Kyle Altendorf 1bebbdc688 simplify the concurrency group (#18309)
* simplify the concurrency group

* empty
2024-08-19 23:52:51 +08:00
Kyle Altendorf a9ad2aceb7 consistently use concurrency-name (including correcting errors) (#18335) 2024-07-18 09:39:40 -07:00
6d9219b0c4 CHIA-597: Use poetry for package management (#11057)
* preliminary setup with poetry

* don't worry about locking the poetry env for the exploration right now

* recover black config in pyproject.toml

* install.sh for linting workflow

* pull chiavdf version from poetry in install-timelord.sh

* activate etc in upload and lint workflow

* debug poetry show output on macos

* update to clvm-tools 0.4.4

* add back setproctitle

* catchup deps

* lock

* allow 3.10

* debug

* make Install.ps1 use poetry as well

* -ErrorAction Ignore

* more todo about python version selection

* make install-timelord.sh modifications more posix compliant

* gitignore .penv* and .venv* as well

* remove requirements.penv.txt

* get artifact check requirements from poetry

* fix .gitignore for venv symlink

* separate out poetry setup

* :

* comment out code to be worked on

* setup poetry for dependency check

* ignore new poetry symlink

* chia_rs==0.1.4

* a few updates

* some missed updates `:[`

* update some types libs

* fix extras

* activate

* just use `python` somewhere

* for windows

* less symlinking for windows

* oops

* s

* more

* # shellcheck disable=SC2086

* activate action

* more python version

* lock up

* include ipython (for python >=3.8)

* add miniupnpc extra

* add poetry-dynamic-versioning

* type it out

* better match dev versioning

* catch up and delete setup.py again

* lock

* add pytest-cov

* .penv/bin/poetry

* .venv for windows activation

* update pytest-xdist

* install upnp extra

* upnp

* quote

* maybe update some deps

* mandatory and string

* oops

* slighty tidy

* debug pip list

* debug

* pybind11 maybe instead?

* remove pip install debugging

* debug without upnp nor pypi.chia.net

* chiavdf==1.0.8

* bring back upnp

* re-enable upnp

* diagnostic exception reraise

* .exe?

* diagnostics

* .cmd...?

* light tidy

* more cleanup

* make dependency check script not cwd dependent for finding the poetry env

* correct sh substitution

* lock

* coverage 7

* todo cleanup

* poetry update

* interesting

* windows too

* support non-editable install via scripts again

* oops

* again

* sheesh

* fixup

* more

* more

* Update dependencies

* various pre-commit linter updates

* add pyupgrade to extras list

* use priority=supplemental instead of secondary

* Add in some missing deps

* update setuptools and pyinstaller to match main

* venv->.venv

* lint fixes

* update a few packages for 3.12 support

* get zstd from chia resource for python 3.12

* Adjustments to dynamic versioning

* experiments with versioning

* test fixes

Signed-off-by: Earle Lowe <e.lowe@chia.net>

* fixup last commit

* include upnp as extra when installing on windows

* include mozilla-ca as a package for the cacert.pem file

* some windows tweaks

* use SPECPATH as anchor path in pyinstaller.spec file

* Add lxml as dev dependency

* Fixup typo in lxml version

* Update some packages to resolve GH vuln reports

* Update more packages to resolve GH vulns

* Ignore pylint license in depedency checker

* match installation of the dynamic version plugin on windows

* Fix issues with setting windows environment and use pip to install plugin per poetry docs recommendation

* properly apply non-editable option with -i

* use -f with ln to remove existing file as needed

* use shell=true for subprocess to help windows run chia if it's a .cmd

* Update .coveragerc

* use shutil.which() to find chia executable in a cross platform way

* mypy fixes

* Address conflicts for numpy based on python version

* Update lock file

* Remove troublesome reference to pypi source

* Add TODOs for manual install of poetry-dynamic-versioning plugin

* Use poetry dynamic versioning to figure out the version rather than setuptools_scm

* Update .github/workflows/reflow-version.yml

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* Update .github/workflows/test-single.yml

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* Update urllib3

* Attempts to get dynamic versioning to output something semver

* more versioning finangling

* lint pyproject.toml

* Update certifi

---------

Signed-off-by: Earle Lowe <e.lowe@chia.net>
Co-authored-by: Earle Lowe <e.lowe@chia.net>
Co-authored-by: Earle Lowe <30607889+emlowe@users.noreply.github.com>
2024-07-10 08:47:11 -07:00
Kyle Altendorf 93d5fd3723 add dispatch options for test workflow (#17818)
* inputs.build-job-matrix-arguments

* selectable os

* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* debug

* empty

* empty

* maybe
2024-04-26 08:07:58 -07:00
Patrick Maslana 40a8af39b6 checkpoint: into main from release/2.3.0 @ 6c9636b2ad (#17841)
Source hash: 6c9636b2ad
Remaining commits: 0
2024-04-15 12:07:57 -07:00
Kyle Altendorf e706e36833 improve legibility of source vs. installed test checks (#17831)
* improve legibility of source vs. installed test checks

* group for diff as well

* just >

* debug

* fixup

* dedebug

* else
2024-04-15 12:07:07 -07:00
Kyle Altendorf 5227b32e0f only exclude arm _timelord_ needing jobs (#17836) 2024-04-09 09:54:02 -07:00
Amine Khaldi ab7e5df9d2 Merge commit '6c9636b2ad2c74d40aef265d85ed67758af4f749' into checkpoint/main_from_release_2.3.0_6c9636b2ad2c74d40aef265d85ed67758af4f749 2024-04-08 20:29:11 +01:00
Kyle Altendorf 6c9636b2ad make junit collection optional and disable for now (#17828)
* make junit collection optional

* disable junit collection

* prettier

* no env

* no env

* one more
2024-04-05 12:28:38 -07:00
Kyle Altendorf 770dcc1a02 add macOS arm to ci tests (#17757)
* add macOS arm to ci tests

* Update test.yml

* Update test.yml

* Update test-single.yml

* Update test-single.yml
2024-04-05 09:29:41 -07:00
Kyle Altendorf c86ced42a8 remove redundant ci boost install step (#17817) 2024-04-05 09:29:28 -07:00
Kyle Altendorf b08713f3db use cache-pip action (#17756)
* use `cache-pip` action

* and other places

* empty

* `cache-pip@main`

* Update build-windows-installer.yml

* Update test-single.yml

* Update benchmarks.yml
2024-03-22 09:05:50 -07:00
Kyle Altendorf a89222a428 move tests (#17209)
* prep

* verify source and installed tests match

* move

* remove move script
2024-03-14 10:19:20 -07:00
Kyle Altendorf 368f69cf11 prettier (#17396)
* add prettier to pre-commit

* apply prettier.io
2024-03-13 13:41:04 -07:00
Kyle Altendorf 73174465a7 exclude 3.12 from main matrix (#17682) 2024-03-11 13:52:45 -07:00
13b75e8a39 Add Python 3.12 support (#14423)
* start adding python 3.12 support

* add missing comma

* include 3.12

* allow 3.12 in install.sh

* Bump chia wheels for python 3.12

* bump chiabip158

* Use datetime.timezone.UTC

* Update create_ssl.py

* UTC->utc

* Use datetime.timezone.utc

* bump chiavdf

---------

Co-authored-by: Earle Lowe <e.lowe@chia.net>
Co-authored-by: Earle Lowe <30607889+emlowe@users.noreply.github.com>
2024-03-08 19:00:02 -08:00
dependabot[bot] ed1e2b9990 build(deps): bump actions/cache from 3 to 4 (#17392)
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-26 15:39:11 -08:00
Kyle Altendorf 4711c52fcd fix duplicates file and upload name uniqueness (#17354)
* fix duplicates file name and upload artifact name uniqueness

* test it

* fix

* again

* Revert "test it"

This reverts commit b64956208d.

* add missing single quotes
2024-01-21 08:17:55 -06:00
dependabot[bot]andKyle Altendorf 14160b17cc build(deps): bump actions/upload-artifact from 3 to 4 (#17096)
* build(deps): bump actions/download-artifact from 3 to 4

Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps): bump actions/upload-artifact from 3 to 4

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fixup

* install action too

* pattern not name

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kyle Altendorf <sda@fstab.net>
2024-01-04 10:18:10 -08:00
Arvid Norberg 038f5e8fb7 Fix deep reorgs (#16594) 2023-11-15 10:51:04 -06:00
dependabot[bot] aeeced6117 build(deps): bump actions/checkout from 3 to 4 (#16258)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-10 09:54:08 -05:00
Amine Khaldi 046ef0b958 Run CI using Python 3.10 (#16246) 2023-09-18 11:27:55 -05:00
Arvid Norberg 0c56e8f7af Better timestamps on simulated chains (#16326) 2023-09-15 21:00:08 -05:00
Arvid Norberg fd51693ba0 run_block_generator2() (#16241) 2023-09-12 11:27:37 -05:00
Kyle Altendorf 0c525f6169 create and upload individual and combined junit reports (#16149)
* create and upload individual and combined junit reports

* sudo

* debug

* fixup

* fixup

* data vs. results

* debug

* pretty format xml

* try again on formatting

* Update test.yml

* blah

* yq

* again

* swap

* Revert "debug"

This reverts commit ea6f7447c3.

* Revert "debug"

This reverts commit e0d1f64d33.

* tidy
2023-08-25 13:12:50 -05:00
Amine KhaldiandWilliam Allen c20bf49e28 William's PR #15887 (Rework Bladebit artifact logic, CI cleanup, release simulation) against main (#15893)
* Rework Bladebit artifact logic, CI cleanup

* Fixing input indentation

* Extra quote

* Fix linting on windows, and OSX conditionals

* Using bladebit suffix

* removed extra quote

* Fixed inputs name

* adding blank option (#4)

---------

Co-authored-by: William Allen <wallentx@users.noreply.github.com>
2023-07-31 18:20:03 -05:00
Kyle Altendorf 74b02fa44e test installed code, not source (#15532)
* explore testing installed code, not source

* non-editable install

* hmm

* yup

* bash it up

* test-single.yml: defaults: run: shell: bash

* try removing windows specific steps

* env.GITHUB_WORKSPACE

* Update test-single.yml

* Update test-single.yml

* Update test-single.yml

* also Install.ps1

* ,

* more

* Update test-single.yml

* Update .coveragerc

* whitespace
2023-07-24 20:02:00 -05:00
7c6cf2cfe9 Chip13 (#15688)
* Chip13

* Lint.

* Black.

* Lint.

* Fix BlockTools.

* Trigger the soft fork.

* Parametrize bt.

* Syntax.

* Add softfork3 to empty_blockchain too.

* Skip test.

* Skip test.

* Try fix.

* Add persistent blocks.

* Lint.

* Run tests without block cache.

* Try to fix tests.

* Revert "Try to fix tests."

This reverts commit f10c7fc847.

* WIP plot filters.

* pytest.

* Lint.

* Skip cache tests.

* Try to lower the constraints.

* Try to increase timeout.

* Test blockchain.

* Store test.

* Revert to main

* Revert to main

* Revert to main

* Add tests with new interface

* Test.

* Fixtures.

* Fixtures.

* Lint.

* Add first test.

* Improve test.

* Isort.

* merge fix

* fix counter

* Bump test-cache version to soft_fork3.0 DBs

* Enable tests.

* Enable all.

* Syntax.

* Attempt higher timeouts.

* Try to skip big test.

* Revert tests larger timeouts.

* Try to get test to work with 4000.

* Skip 10000 blocks.

* Test.

* Update test_full_node_store.py

* Update test_blockchain.py

* Update test_blockchain.py

* Update tests/conftest.py

Co-authored-by: Arvid Norberg <arvid@libtorrent.org>

* Update tests/blockchain/test_blockchain.py

Co-authored-by: Arvid Norberg <arvid@libtorrent.org>

* Address some comments.

* Some more comments.

* Use new passes_plot_filter signature.

* Lint.

* Lint.

* Reduce benchmark timeout.

* Skip test.

* Address review comments.

* Delete leftovers.

* Review comments.

* await.

* Revert async call.

* Validate in body too.

* Fix test.

---------

Co-authored-by: almog <almogdepaz@gmail.com>
Co-authored-by: wallentx <william.allentx@gmail.com>
Co-authored-by: Arvid Norberg <arvid@libtorrent.org>
2023-07-20 21:25:23 -05:00
Kyle Altendorf 42a6d1afa6 remove support for Python 3.7 (#14611)
* remove support for Python 3.7

* python_requires=">=3.8, <4"

* 3.8.1+

* catchup

* remove todos handled in https://github.com/Chia-Network/chia-blockchain/pull/15755
2023-07-14 12:49:58 -05:00
Kyle Altendorf 0f15486141 test-single.yml: defaults: run: shell: bash (#15535)
* test-single.yml: defaults: run: shell: bash

* try removing windows specific steps

* env.GITHUB_WORKSPACE

* Update test-single.yml

* Update test-single.yml

* Update test-single.yml
2023-07-07 11:18:35 -05:00
Kyle Altendorf f37b7dce1a replace hard coded 0.29.0 with BLOCKS_AND_PLOTS_VERSION (#15615) 2023-06-29 20:49:36 -05:00