* util: Implement `Paginator` class as interface to access a list by pages
* Be less restrictive about page sizes and refactor tests
* Make the pages based of 0 instead of 1 and some more test refactoring
* More tests
* Adjust workflows after rebase
* Introduce `Paginator.create`
* `<=` instead of `- 1`
* tidy installer building
* -d
* fix rpm build
* try for windows
* Install.ps1 -d
* move the install.ps1 call out to the workflow
* Update build_windows.ps1
* Update build_windows.ps1
* debug non-editable install on windows
* platlib and purelib in pyinstaller pathex
* Revert "debug non-editable install on windows"
This reverts commit 7c04168969.
* Revert "platlib and purelib in pyinstaller pathex"
This reverts commit c5c5cdcd81.
* debug
* debug not-editable
* Revert "debug not-editable"
This reverts commit d4373d8e82.
* a bit more similar
* git -C
* find dlls in site-packages?
* oops
* Revert "debug"
This reverts commit 88090f689f.
* consistently name installer github actions artifact zips
* leave SCM_VERSION here
* Update build-windows-installer.yml
* adding workflow for checking for conflicts
* proper version number
* proper version number syntax?
* not sure tbh
* trying 2.x
* using newly created labels
* adding static 2.0.0 version
* update based on feedback
* removing label removal
* merge_conflict
* 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>
* 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
* add Linux Mint to test matrix
* : -> / for linux mint dockers
* Prepare Linux Mint
* stop testing linux mint 21 since it reports 20.3
* names, comment, and add 19.2
* mint
* manually install requests
* trailing whitespace
* Add cli only rpm
* Ensure rvm (fpm) is loaded before running fpm
* Use full path to fpm, since GHA seems to mess up the PATH in the container
* Add back source and add use ruby-3
* Call rpm script with bash, to see if the rvm script works
* Add --depends for libcrypt.so.1
* Bump actions/upload-artifact from 2 to 3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3)
---
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>
* Also update runner_templates
* Mark the github workspace as safe (#11159)
* Mark the github workspace as safe
* Move the git config step after git is installed in the test containers
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gene Hoffman <hoffmang@hoffmang.com>
Co-authored-by: Chris Marslender <chrismarslender@gmail.com>
* Build cli only version of debs
* Export the vars needed by j2
* Fix paths
* Add symlink to chia in /usr/local/bin/
* Upload the cli only debs to s3
* Add init.py
* Ensure SHA is on the dev build for amd64
* can we get by without dead snakes?
* Update install-timelord.sh
* Revert "Update install-timelord.sh"
This reverts commit cba3250b09.
* do not install python dev package for timelords build in ci
it is already there...
* more quotes for sh
* more work on test blockchain
* Optimize test_blockchain.py
* Fix weight proof bug
* Rename variable
* first rc_sub_slot hash bug
* New plots
* try with a new ID
* Run without cache
* Address test blocks and plots preparation.
* Update constant in test_compact_protocol().
* Update this constant too.
* Revert accidental altering of the gui submodule in ae7e3295f280a591e76c4dffdea75fb74ea5de6f.
* Fix benchmark test
* Revert mozilla-ca change
* Rebase on main
Co-authored-by: almog <almogdepaz@gmail.com>
Co-authored-by: Amine Khaldi <amine.khaldi@reactos.org>
* protocols|server: Define new harvester plot refreshing protocol messages
* protocols: Bump `protocol_version` to `0.0.34`
* tests: Introduce `setup_farmer_multi_harvester`
Allows to run a test setup with 1 farmer and mutiple harvesters.
* plotting: Add an initial plot loading indication to `PlotManager`
* plotting|tests: Don't add removed duplicates to `total_result.removed`
`PlotRefreshResult.removed` should only contain plots that were loaded
properly before they were removed. It shouldn't contain e.g. removed
duplicates or invalid plots since those are synced in an extra sync step
and not as diff but as whole list every time.
* harvester: Reset `PlotManager` on shutdown
* plot_sync: Implement plot sync protocol
* farmer|harvester: Integrate and enable plot sync
* tests: Implement tests for the plot sync protocol
* farmer|tests: Drop obsolete harvester caching code
* setup: Add `chia.plot_sync` to packages
* plot_sync: Type hints in `DeltaType`
* plot_sync: Drop parameters in `super()` calls
* plot_sync: Introduce `send_response` helper in `Receiver._process`
* plot_sync: Add some parentheses
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* plot_sync: Additional hint for a `Receiver.process_path_list` parameter
* plot_sync: Force named parameters in `Receiver.process_path_list`
* test: Fix fixtures after rebase
* tests: Fix sorting after rebase
* tests: Return type hint for `plot_sync_setup`
* tests: Rename `WSChiaConnection` and move it in the outer scope
* tests|plot_sync: More type hints
* tests: Rework some delta tests
* tests: Drop a `range` and iterate over the list directly
* tests: Use the proper flags to overwrite
* test: More missing duplicates tests
* tests: Drop `ExpectedResult.reset`
* tests: Reduce some asserts
* tests: Add messages to some `assert False` statements
* tests: Introduce `ErrorSimulation` enum in `test_sync_simulated.py`
* tests: Use `secrects` instead of `Crypto.Random`
* Fixes after rebase
* Import from `typing_extensions` to support python 3.7
* Drop task name to support python 3.7
* Introduce `Sender.syncing`, `Sender.connected` and a log about the task
* Add `tests/plot_sync/config.py`
* Align the multi harvester fixture with what we do in other places
* Update the workflows
Co-authored-by: Kyle Altendorf <sda@fstab.net>
From my understanding this is only used by `chiavdf` source builds which
happen only if `install-timelord.sh` gets called but it doesn't in the
addressed cases.
* Force apt to install the things we asked it to
* Update .github/workflows/benchmarks.yml
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>