Commit Graph

5792 Commits

Author SHA1 Message Date
Kyle Altendorf
28d9dbfd3a
More general Ubuntu references in install.sh (#11325)
* More general Ubuntu references in install.sh

* oops
2022-04-27 11:37:21 -07:00
William Blanke
6268722992
updated gui to 4fc7fe11cc 2022-04-27 11:18:40 -07:00
Chris Marslender
3abcbf1dfa
Build installers on push to release branches (#11321) 2022-04-26 16:18:16 -05:00
Kyle Altendorf
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
Chris Marslender
a983c4a90b
Upload CLI RPMS to s3, create checksums, etc (#11316) 2022-04-26 13:27:14 -05: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
Chris Marslender
fd7c3c6363
Update names of installer workflows so they get grouped together in the workflow listing (#11310) 2022-04-26 09:01:21 -06:00
Arvid Norberg
73e1fabb5d
significantly speed up get_consecutive_blocks() in BlockTools, but caching the block-map, height-to-hash and difficulty from the last invocation (#11263) 2022-04-25 16:06:35 -07:00
Arvid Norberg
8333775040
make BlockTools generate more accurate block timestamps (#11261)
* when generating blocks, we truncate the time-per-block to whole seconds before assigning the timestamp to the next block. When the time-per-block has a fractional part (say, 18.75) the blocks will consistently come 0.75 seconds early. This patch rounds up or down with a probability proportional to the size of the fractional part. This means blocks will come at the right time on average

* make block timestamp rounding deterministic, depending on residual from last rounding

* disable block timestamp residual by default, to not disturb existing tests
2022-04-25 16:06:18 -07:00
Jack Nelson
bfb488b1b9
undo 9130 (#10278) 2022-04-25 16:05:35 -07:00
Chris Marslender
d750c901b9
Fix targeting for arm64 to not land on native arm64 mac runners (#11309) 2022-04-25 16:50:38 -05:00
Kyle Altendorf
bcaa5e6088
simplify install.sh ubuntu version tracking (#11288)
* simplify install.sh ubuntu version tracking

* quotes for bash

* undo some unintended changes
2022-04-25 11:08:26 -07:00
Chris Marslender
3f0dd497a7
Update to pyinstaller 5.0 (#11289) 2022-04-25 09:20:39 -07:00
Kyle Altendorf
e584513c70
Add Linux Mint to test matrix (#11295)
* 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
2022-04-25 09:20:08 -07:00
William Blanke
bb556dffbd
updated gui to 042e2af1a4. bls to 1.0.11 for windows multi 2022-04-24 10:25:05 -07:00
William Blanke
dae4f55aa5
updated gui to 042e2af1a4 2022-04-24 10:24:15 -07:00
Earle Lowe
ee89334809
Update PyYAML to 6.0 for python 3.10 (#11273) 2022-04-23 20:13:06 -07:00
Earle Lowe
7cd2a6f0c8
Remove multidict from setup.py for python 3.10 (#11272)
* Testing multidict 6.0.2

* Stop specifying multidict directly
2022-04-23 20:11:56 -07:00
Earle Lowe
b1c7f70c9f
Update setproctitle to 1.2.3 for python 3.10 (#11274) 2022-04-23 20:11:31 -07:00
Kyle Altendorf
8460a35466
Debian bookworm now uses 3.10, update the comment (#11278) 2022-04-23 20:11:09 -07:00
wjblanke
d473911454
revert to old bls no gil release until windows is sorted (#11275) 2022-04-22 11:37:17 -07:00
dustinface
c0f3d4d231
daemon|util: Don't remove from list while iterating (#11208)
* daemon: Iterate over a copy of `websockets`

Currently when it fails to send the response to one websocket it skips 
the next websocket in list becaue we remove from the list while 
iterating.

* util: Iterate over a copy of `peers_with_peak`

Currently when a peer is closed it skips the check for the next peer in 
the list becaue we remove from the list while iterating.
2022-04-22 10:55:57 -07:00
Arvid Norberg
f9c4f1f96d
add tool to measure CPU utilization of a process tree (#11264)
* add tool to measure CPU utilization of a process tree and plot it over time

* make collecing thread counters optional
2022-04-22 10:53:53 -07:00
Chris Marslender
7b838239a9
Additional metrics (#11271)
* Remove _set_state_changed_callback from harvester_api.py as its never actually called

In rpc/rpc_server.py:318, what is actually called is rpc_server.rpc_api.service._set_state_changed_callback, so the version of this in harvester.py is what is actually used

* Remove duplicate initial value for state_changed_callback in init

* _state_changed -> state_changed so it can be called from harvester_api as well

* Add farming info state_changed event from harvester

* Add time to farming_info event

* Add [pre_]validation_time to block event

* Remove unused set_state_changed_callback on full_node_api. This is actually called on full_node_rpc_api.service

* Remove unused set_state_changed_callback on crawler_api. This is actually called on crawler_rpc_api.service (crawler)

* Remove unused set_state_changed_callback on farmer_api. This is actually called on farmer_rpc_api.service (farmer), not the api itself

* Add state changed event for submitting a partial

* Lint fixes
2022-04-22 10:53:03 -07:00
Kyle Altendorf
48bb002d95
have pyinstaller check platlib for dll's, not ROOT (#11120) 2022-04-21 17:01:17 -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
dustinface
7d11d54f89
plotting: Enable isort (#11135) 2022-04-21 17:00:00 -07:00
Chris Marslender
077c8db1ff
Testing postinst/prerm scripts with the UI .deb (#11258) 2022-04-21 16:59:27 -07:00
Earle Lowe
cb98258a8e
Check observer addresses (#11259) 2022-04-21 16:59:11 -07:00
dustinface
2f477bb937
harvester: Tweak get_plots RPC (#11246) 2022-04-21 16:58:35 -07:00
Kyle Altendorf
aaf3fbc160
generate file lists for workflows instead of wildcard patterns (#11117) 2022-04-21 16:58:07 -07:00
Chris Marslender
527b30e917
Add cli only rpm (#11236)
* 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
2022-04-20 21:39:51 -07:00
dustinface
25ab0c90cb
github: Fix plot_sync workflows after #10940 merge (#11241) 2022-04-20 15:27:59 -07:00
William Blanke
ef3ac41f8b
updated bls and vdf to new releases 2022-04-20 11:52:23 -07:00
Adam Kelly
8d510157d9
Improve detection of disconnected websocket between services (#11069) 2022-04-20 11:46:51 -07:00
Sebastjan Trepca
fb6c537cfb
Use log formatter to avoid serialisation (#11184)
* avoid serialisation in logging

* avoid serialisation in logging

* Revert "avoid serialisation in logging"

This reverts commit 4a2b447396.
2022-04-20 11:45:30 -07:00
Gene Hoffman
797a2fb5fe
Remove 3.9.11 for Windows Installer (#11226)
And replace with just 3.9.x
2022-04-20 11:44:52 -07:00
dustinface
21a968bec2
cmds: Only call is_running endpoint once in async_start (#11221) 2022-04-20 11:44:27 -07:00
dustinface
553e46ab6d
harvester: Use a set instead of a list to speed up availability checks (#11204) 2022-04-20 11:43:31 -07:00
Arvid Norberg
73cd386b87
optimize Program.curry() (#11162)
* optimize Program.curry()

* Add a comment for this curry implementation

* optimize Program.curry()

* Add comment

Co-authored-by: arty <art.yerkes@gmail.com>
2022-04-20 11:43:15 -07:00
dustinface
cd9beaca0b
wallet: Some rollback fixes (#11149)
* Set `in_transaction` for `set_finished_sync_up_to`

* Call `clean_block_records` based on `in_transaction`

* Don't pop wallets in `reorg_rollback`, do it after it was commited
2022-04-20 11:42:58 -07:00
dependabot[bot]
efbac6a05f
Bump actions/upload-artifact from 2 to 3 (#11144)
* 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>
2022-04-20 11:40:51 -07:00
Adam Kelly
b224e1dda6
Print MempoolInclusionStatus as string when reporting mempool inclusion status (#11133) 2022-04-20 11:39:38 -07:00
Adam Kelly
d1f68daa0f
Correct "Older block not found" error message (#11130) 2022-04-20 11:38:29 -07:00
dustinface
ee3bf4f866
farmer: Enable isort (#11128) 2022-04-20 11:37:46 -07:00
dustinface
38cc36ca5f
harvester: Enable isort (#11127) 2022-04-20 11:37:05 -07:00
Kyle Altendorf
1088801e73
Remove code related to no-longer-used websockets library (#11123)
* Remove logging tweak for no-longer-used websockets library

Follow up after https://github.com/Chia-Network/chia-blockchain/pull/10611.

* Update pylintrc

* Update test_daemon.py
2022-04-20 11:18:42 -07:00
Kyle Altendorf
6c8fa52daf
remove setting of SCM_VERSION in install-version.py (#11119) 2022-04-20 11:17:51 -07:00
Kyle Altendorf
5b044ea497
locate pyinstaller in dev deps rather than build scripts (#11118) 2022-04-20 11:16:53 -07:00
dustinface
ab282b5282
wallet: Drop unused WalletStateManager.get_derivation_index (#11110) 2022-04-20 11:14:48 -07:00