Commit Graph
31 Commits
Author SHA1 Message Date
dependabot[bot] b94a3ef1d6 build(deps): bump actions/checkout from 5 to 6 (#20333)
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [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/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  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-12-09 14:30:56 -08:00
Patrick Maslana 6fe8e6666f Update the macos-13 GH hosted runner to macos-15-intel, due to EOL of macos-13 2025-11-20 10:40:13 -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 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 Marslender 9a47aa2e3f Swap to self hosted mac intel runners for installer build (#20009)
* Swap to self hosted mac intel runners for installer build

* Change the test to also run self-hosted

* Use self hosted mac intel runners, and limit some things to not always run on mac intel

* Split the new mac intel rule to its own step
2025-09-02 12:13:16 -07: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
William Allen 35291ee609 Make CI workflows fork-friendly (#19807)
* Make some CI conditional for forks

Signed-off-by: wallentx <william.allentx@gmail.com>

* fix conditional for build installers

Signed-off-by: wallentx <william.allentx@gmail.com>

* fix macos ARM and Linux ARM onnpre-commit

Signed-off-by: wallentx <william.allentx@gmail.com>

* Testing SSH signing

* Remove conditional for checking signed commits

* Use macos-15 instead of macos-latest, and use public gh linux arm

* fix yaml array vs literal string

---------

Signed-off-by: wallentx <william.allentx@gmail.com>
2025-08-14 12:44:10 -07:00
Kyle Altendorf bb4c1620db use github hosted linux arm runners (#19937)
* use github hosted linux arm runners

* more
2025-08-11 12:30:54 -07:00
Kyle Altendorf c9050689ed stop forcing pyenv usage on macos intel in check_wheel_availability.yaml (#19396) 2025-03-18 13:35:30 -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
Earle Lowe 44db523f9d [CHIA-1486] Update to macOS 13 for build and test (#18640)
Update to macOS 13 for build and test
2024-09-25 14:58:30 -07:00
Kyle Altendorf ddfd1f9567 correct concurrency groups (#18498)
* correct concurrency groups

* ref
2024-08-19 15:27:05 -07:00
Kyle Altendorf 1bebbdc688 simplify the concurrency group (#18309)
* simplify the concurrency group

* empty
2024-08-19 23:52:51 +08:00
Chris Marslender f2765229cd Target macos-13-arm64 runners instead of [MacOS, arm64] (#18298) 2024-07-11 22:37:13 -05: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
Earle Lowe 4671193cbc CHIA-802: Update to macos-12 for build and remove macos-11 (#18238)
* Update to macos-12 for build and remove macos-11

* Update MACOSX_DEPLOYMENT_TARGET
2024-06-24 11:05:23 -07:00
Kyle Altendorf 368f69cf11 prettier (#17396)
* add prettier to pre-commit

* apply prettier.io
2024-03-13 13:41:04 -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] 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
29c1e1c380 Drop macos-10.14 support (#15862)
* Mojave is dead

* Update check_wheel_availability.yaml

* Update build-macos-installers.yml

Set MACOSX_DEPLOYMENT_TARGET=11 when building installer

* Fix up yaml

---------

Co-authored-by: Earle Lowe <30607889+emlowe@users.noreply.github.com>
Co-authored-by: Earle Lowe <e.lowe@chia.net>
2023-07-27 12:53:52 -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 523a5d4cf5 Add support for Python 3.11 (#11407)
* Add Python 3.11 to CI

* 3.11 in the install scripts

* ${{ format('{0}.0-alpha - {0}.X', matrix.python) }}

* bump chiavdf and chiabip158 for releases with 3.11 wheels

* also bump blspy and clvm-tools-rs

* drop the extra .X for the python setup version

* chia_rs==0.1.13

* Update install.sh

* pyinstaller==5.5

* less mutable defaults

* memory_profiler

* assert sqlite3.threadsafety >= 1

* create tasks for stopping services

(cherry picked from commit 3384714f2e3e0bdc8c3d3741027e9e4fb69a6002)

* psutil==5.9.4

* drop memory_profiler transitive dep since it now supports 3.11

* drop redundant pre-release python getting incantation

* watchdog==2.2.0

* black for py311
2023-01-27 17:16:03 -06:00
Kyle Altendorf bcd64f949b Check wheel availability on macOS 10.14 (#14031)
* Check wheel availability on macOS 10.14

* update pip etc (in an env)

* force-pyenv: true

* Update check_wheel_availability.yaml

* Update check_wheel_availability.yaml

* Update check_wheel_availability.yaml
2022-12-03 21:15:01 -06:00
William Allen 357075235a Wallentx/prerelease (#13460)
* Adding workflows to support prerelease

Signed-off-by: wallentx <william.allentx@gmail.com>

* Update installer-version.py

Signed-off-by: wallentx <william.allentx@gmail.com>

* using gh cli to upload release artifact

Signed-off-by: wallentx <william.allentx@gmail.com>

* Fixing whitespace

* Adding gh cli workflow uploads

* Removing CLI artifact upload to release page

* Adding separate release artifact upload for Windows

* Fixing windows installer envar

* Moving torrent release upload step

* Adding needed env for artifact upload

* Removing windows installer conditional for installing AWS CLI

Signed-off-by: wallentx <william.allentx@gmail.com>
2022-09-21 14:11:11 -05:00
Kyle Altendorf db04a90eef add workflow emoji (#11988)
* add workflow emoji

* move from job name to workflow name

* move from test-single to test

* some more
2022-06-21 14:51:01 -05:00
Kyle Altendorf 0f0bc5bda1 avoid cancelling release/** and long_lived/** (#11519) 2022-05-23 16:13:04 -07:00
Kyle Altendorf 2daa524aaf add long_lived/** and release/** to (almost) all workflow push triggers (#11439) 2022-05-05 08:51:36 -06:00
Kyle Altendorf d7f39e48c0 Add Windows to wheel check matrix (#11388) 2022-05-02 13:01:08 -07:00
7892148bdc Support for Python 3.10 (#9930)
* Support for Python 3.10

* Update install.sh to block Python 3.11

* websockets to 10.1

* Update workflows for Python 3.10

* single quote 3.10

* Enable fedora:35 (py3.10) installer script testing

* rebuild workflows

* fixup test-install-scripts.yml

* add ignore for distutils deprecation in tests for now

* asyncio.get_event_loop().run_until_complete() -> asyncio.run()

* aiohttp==3.8.1 for python 3.10 support

* use ssl.Purpose.CLIENT_AUTH for ssl_context_for_server()

* rebuild workflows

* use ssl_context_for_client() in BlockTools.get_daemon_ssl_context()

* create a client context for the RpcServer to connect to the daemon

* go back to asyncio.get_event_loop().run_until_complete() for now to recover 3.7

* ignore:There is no current event loop:DeprecationWarning

* Ms.plot load perf2 (#10978)

* 2.7 seconds -> 0.45 seconds

* Merge

* Work on create_plots refactor

* Try to fix tests

* Try to fix tests

* Use new functions

* Fix block_tools by adding dir

* Extra argument

* Try to fix cyclic import

* isort

* Drop warning

* Some cleanups around `exclude_final_dir` and directory adding

* Cleanup `min_mainnet_k_size` checks

* Drop unrelated changes

* Fixes after rebase

* Fix cyclic import

* Update tests/block_tools.py

Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>

* Update tests/block_tools.py

Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>

Co-authored-by: xdustinface <xdustinfacex@gmail.com>
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>

* remove 3.10 avoidance step from debian:bookworm installer testing

* add 3.10 to wheel availability check workflow

* add 3.10 to Install.ps1 supported Python versions for Windows

* add jammy jellyfish to the install script test matrix

* correct ubuntu:jammy job name

* add 22.04 with Python 3.10 to install.sh

Co-authored-by: Gene Hoffman <hoffmang@hoffmang.com>
Co-authored-by: Yostra <straya@chia.net>
Co-authored-by: Mariano Sorgente <3069354+mariano54@users.noreply.github.com>
Co-authored-by: xdustinface <xdustinfacex@gmail.com>
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
2022-04-26 12:37:01 -07:00
Kyle Altendorf f976c07c54 also m1 and arm64 for wheel checks (#11277)
* also m1 and arm64 for wheel checks

* account for self-hosted and pre-setup-python of m1 and arm64 runners

* &&

* python3

* report python version

* use docker on arm64 to get multiple python versions

* flush

* report more system information

* except pycryptodome for now

* more variables, simpler logic

* corrections

* switch to [macos, arm64]

* add python version to job name

* separate os and arch matrix axes

* reorder matrixing

* drop workflow name from job name

* oops

* skip python setup in docker cases

* drop the containers

* Update check_dependency_artifacts.py
2022-04-26 10:48:04 -07:00
Kyle Altendorf 3c48224551 check dependency artifacts (#11243)
* check dependency artifacts

* remove commented out code

* find root path relative to script

* fixup stringy pathy mixup

* Update check_dependency_artifacts.py
2022-04-21 17:00:28 -07:00