* Added version control enforcement to macOS m1
* Added enforced version control
* Added enforce version compliance
* Added enforced version compliance
* Added enforced versioning
* Updating this to include DRY internal action.
* Removed some unintended whitespace.
* Removed some unintended whitespace.
* CI re-run
* Trying to figure out why it's failing one test.
* Trying to figure out why it's failing one test.
* Trying to figure out why it's failing one test.
* black==21.12b0 in pre-commit
Match `setup.py`.
* move black from super linter to upload workflow
* black (updated)
* configure so black . works
* --check --diff for black
* Adding build-linux-arm64-installer changes
* Adding changes to build installers to include short hash in dev artifact
* Fixing s3 dmg path for azure pipelines dev build
* Testing shell: bash for win workflow
* flipping slashes for bash env
* Formatting build windows installer workflow
* Reformatting build windows installer workflow
* Test CLI installer on Rocky
* Add Rocky support to install.sh
* Update test-install-scripts.yml
* oops
* also sudo for rocky install.sh testing
* fix indentation
* oops
* preliminary testing of in-directory n on ubuntu always
* Use more n chiaminejp (#9971)
* Added n as a local npm dependency
* Fixed an issue where `install.sh` always tried to run `sudo apt install bc -y` even if `bc` is installed already
* Added validations and useful outputs for `start-gui.sh`
* Fixed lint error and use shell functions for readability
* Replace tags with spaces
* Skip installing python39 on RH like OS if it is already installed
* Fixed an issue where start-gui.sh failed silently if venv is not activated
* Suppressed message from pacman
* Support CentOS7
* Fixed typo
* Reduced unnecessary install messages
* Fixed end of file
* Added npm_global/__init__.py to pass CI
* Fixed lint errors
* Install python/sqlite from source on AMZN2. Clear old venv when changing python version on install
* Suppress unnecessary command outputs
* Suppress outputs
* Added centos7/8 to install test
* A minor fix
* Fixed yaml syntax error
* Fixed an issue where test-install-scripts failed in CentOS
Co-authored-by: ChiaMineJP <admin@chiamine.jp>
* Added chia keys derive (wallet-address | child-key) to display derived wallet addresses or public keys
* Support for public key (unhardened) derivation
* Fleshed out the search command. Can perform a substring search on wallet addresses, public, and private keys.
Support for deriving private keys
* Default to unhardened derivation. Added --hardened-derivation option. HD paths denote hardened derivation with a 'h' suffix at each index.
* Added --no-progress to reduce output. Exit code indicates search success/failure. Option name cleanup.
* chia keys derive search can now search for multiple terms
* chia keys derive search can be restricted to searching pubkeys|privkeys|addresses|all
* Allow child-key derivation rooted from an arbitrary HD path
* Search derived keys rooted under an arbitrary HD path
* LGTM fixes
* Remove extra master_sk_to_wallet_sk_unhardened definition
* Cleanup and fixed search output
* Cleanup and comments
* Added tests for `chia keys` commands
* Using @pytest_asyncio.fixture to decorate empty_keyring() as suggested in pytest's output.
* Set asyncio-mode to auto to address pytest warning
* See if tests pass without checking exit status
* Added chia init step to tests that direclty invoke the `cli` function
* Explicitly add --root-path option to tests that run the `cli` function.
* Tests fix
* Re-enable checks against exit_code
* More fine tuning to address CI failures
* Changes to address naming and other feedback
* Updated tests
* Set pools CI test timeout to 45 minutes
There have been several timeout failures recently with successful runs right on the edge at 28 minutes and such.
* pre-commit for workflow rebuild
* wallet changes from pac
* cat changes
* pool tests
* pooling tests passing
* offers
* lint
* mempool_mode
* black
* linting
* workflow files
* flake8
* more cleanup
* renamed
* remove obsolete test, don't cast announcement
* memos are not only bytes32
* trade renames
* fix rpcs, block_record
* wallet rpc, recompile settlement clvm
* key derivation
* clvm tests
* lgtm issues and wallet peers
* stash
* rename
* mypy linting
* flake8
* bad initializer
* flaky tests
* Make CAT wallets only create on verified hints (#9651)
* fix clvm tests
* return to log lvl warn
* check puzzle unhardened
* public key, not bytes. api caching change
* precommit changes
* remove unused import
* mypy ci file, tests
* ensure balance before creating a tx
* Remove CAT logic from full node test (#9741)
* Add confirmations and sleeps for wallet (#9742)
* use pool executor
* rever merge mistakes/cleanup
* Fix trade test flakiness (#9751)
* remove precommit
* older version of black
* lint only in super linter
* Make announcements in RPC be objects instead of bytes (#9752)
* Make announcements in RPC be objects instead of bytes
* Lint
* misc hint'ish cleanup (#9753)
* misc hint'ish cleanup
* unremove some ci bits
* Use main cached_bls.py
* Fix bad merge in main_pac (#9774)
* Fix bad merge at 71da0487b9
* Remove unused ignores
* more unused ignores
* Fix bad merge at 3b143e7050
* One more byte32.from_hexstr
* Remove obsolete test
* remove commented out
* remove duplicate payment object
* remove long sync
* remove unused test, noise
* memos type
* bytes32
* make it clear it's a single state at a time
* copy over asset ids from pacr
* file endl linter
* Update chia/server/ws_connection.py
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
Co-authored-by: Matt Hauff <quexington@gmail.com>
Co-authored-by: Kyle Altendorf <sda@fstab.net>
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
* tests: Allow to use custom keys in `BlockTools.new_plot`
* tests: Create three plots with `G1Element()` as farmer/pool key
But not add them as default plots. Just to have plots in the test cache with different keys from
within and outside the keychain for plot loading tests.
create
* test|github: Bump `test-cache` version to `0.28.0`
* plotting: Drop plots from `no_key_filenames` after the keys appeared
* plotting: Drop plots from `no_key_filenames` if the plot was removed
* tests: Test loading of plots where we miss the keys
* plotting: Use `x.copy()` instead of `list(x)`
* plotting: Add a comment about the missing keys plot removal
* tests: Fix after #9595
* farmer: Run a start background task to wait if there are no keys yet
* farmer: Run the handshake in a background task if there are no keys yet
* tests: Yield the service in farmer/harvester setups
* tests: Introduce `start_service` in farmer/harvester setups
* server: Make `ChiaServer` and `Service` restartable
* tests: Test the delayed start/handshake in `test_farmer_harvester.py`
* tests: Move `test_farmer_harvester.py` to `tests/core/farmer_harvester`
Attempt to avoid issues due to the global block tools / shared keychain
between tests
* farmer: Return `bool` in `Farmer.setup_keys`
* tests: Add `__init__.py` to `tests/farmer_harvester`
* Update to node 16
* Install lerna globally. Lerna clean, and comment out audit:fix for now since it doesn't work with Lerna (see https://github.com/lerna/lerna/issues/1663)
* Global lerna in build mac as well
* Test building the gui package, instead of from the root
* Build installer from the gui package and copy daemon folder to the correct place
* Pass executable name / options.name to linux installers
* Move installers to the root of blockchain-gui
* Fix winstaller
* Latest NEXT
* Update to latest UI
* Copy signing cert for windows to proper location
* Update GUI back to main
* Pin specific versions of electron-package and electron-osx-sign
* Make sure ssh git urls actually use https
* Update azure pipeline to use https instead of ssh for git
* Update windows pipelines to use https instead of ssh
* Fix messed up insteadOf rules on windows + azure mac pipeline
* Install .[dev] in CI tests
* only install pytest-monitor on linux, as before
* add -d to install.sh for dev extras
* handle invalid options to install.sh
* rebuild workflows
* Serialize/deserialize peer data alongside existing sqlite implementation (to be removed)
* Simplified AddressManagerStore. No longer uses sqlite and is no longer async.
* Removed aiosqlite usage from AddressManagerStore.
Added PeerStoreResolver class to determine the appropriate location for "peers.dat"
Updated initial-config.yaml to include "peers_file_path" default, replacing "peer_db_path" (similar change for "wallet_peers_path")
* Minor comment changes/additions
* Added migration from sqlite peer db.
Made AddressManagerStore's serialization async as it was right at the edge of blocking for too long.
* Minor tweaks to checking for migration
* Removed AddressManagerSQLiteStore class scaffolding
* makePeerDataSerialization now returns bytes instead of a PeerDataSerialization object
* Async file I/O for write_file_async using aiofiles
Added more tests
* Separate out the synchronous part of move_file
* Renamed write_file to files since we're opening up the capabilities a bit
* Update references to write_file
* Renamed test_write_file to test_files
* Tests covering move_file and move_file_async
* Minor refinements to behavior and tests
* Use aiofiles for reading peers.dat
* Added missing mypy typing info for aiofiles. Also added types-PyYAML to dev_dependencies so that `mypy chia tests` doesn't require running with --install-types
* Add types-aiofiles to the linting workflow
* Directory perms can now be passed into write_file_async.
Added an explicit f.flush() followed by os.fsync() after writing the temp file contents.
* Stop generating the chia root symlink generation if the directory is not created
* add missing updated -core-util.yml workflows
* Revert "add missing updated -core-util.yml workflows"
This reverts commit 83fd901fb8.
* tests: Move `default_replacements` into `generate_replacements`
* tests: Directly use `root_test_dirs`
Instead of passing it into `subdirs`
* tests: Make `build-workflow.py` callable from everywhere
* tests: Adjust the output of `build-workflows.py`
* tests: Add `-f` to `build-workflows.py` to allow failing on CI
* github: Run `build-workflows.py`
* pre-commit: Run `build-workflows.py` as first hook
* tests: Skip DID wallet tests until they are reliable and fixed
* tests: Skip `test_using_legacy_cryptfilekeyring`
* tests|github: Drop `root_test_dirs` and just search in all directories
This removes the requirement to add new test directories to the
`testconfig.py`. This change uncovered two more tests which were not
enabled on CI because their parent dir's were not added to
`root_test_dirs`.
- `tests/weight_proof/test_weight_proof.py`
- `tests/util/test_struct_stream.py`
* tests|github: Don't list test files, use `tests/dir/tests_*.py` instead
* test: Improve workflow update checks by comparing old vs new
Instead of doing a `git diff` which can lead to false positives if there
are other local changes unlrelated to test workflows. This also fixes
the issue that newly added files were not tracked by `git diff` which
means the script / the CI would trigger an alert.
* tests: Adjust `build-workflows.py` to work as expected on windows
* tests: Read/Write in bytes to avoid and detect unexpected `\r\n`
* tests: Skip `test_pool_cmdline.py`
* Update bug_report.md
new bug submission template
* new issue form
This form replaces the old with dropdowns and required text fields.
* Update bug_report.yaml
corrected config with better validations
* Refactor the whole workflow to run in a container rather than just one step
* Update to chianetwork/ubuntu-18.04-builder:latest image
* Remove some steps that install things that are now pre-baked to the container
* Remove caches for now
* Update path to github workspace
* Add clean workspace action
* Fix linux installer artifact path
* Initial commit add plotters.
* Lint.
* Add progress for bladebit.
* Address some review comments.
* Oops...
* Add install option.
* Change chiapos to fit the old standard.
* Update chia/plotters/bladebit.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Update chia/plotters/install_plotter.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Lint.
* Remove farmerkey as required.
* Chia plotters chiapos works with no arguments.
* Added get_plotters RPC to support the GUI (#8530)
* Added 'get_plotters' daemon RPC. Probes installed/available plotters on behalf of the GUI.
* Linter fix
* Minor type tweak
* Tweaks.
* Run with default arguments all plotters.
* Fix bug.
* Update chia/plotters/bladebit.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Change bladebit repo.
* Update chia/plotters/bladebit.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Update chia/plotters/plotters.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Update chia/plotters/plotters.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Update chia/plotters/plotters.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Update chia/plotters/plotters.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Update chia/plotters/plotters.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Update chia/plotters/plotters.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Update chia/plotters/plotters.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Update chia/plotters/plotters.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Re-added the connect-to-daemon hidden option
* Use connect_to_daemon value for madmax and bladebit plot key resolution.
* Updated --tmp_dir, --tmp_dir2, --final_dir options to match old options from chia plots create
* Add CONNECT_TO_DAEMON as a valid option for madmax/bladebit
* Thread multiplier should be an int
* Passing params for madmax to start_plotting. Still needs cleanup/refactoring.
* Update chia/plotters/bladebit.py
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* Update chia/plotters/madmax.py
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* Filename option -z.
* Factor out calling the plotter.
* First attempt refactor install scripts.
* Switch to exec.
* Attempt to fix mypy warning.
* Remove filename.
* Increase RLIMIT_NOFILE for madmax on non-Windows platforms
* Add trailing path separator to madmax tmpdir/tmp2dir/finaldir arguments (required by madmax)
* Fixes to support madmax plotting from the GUI.
Writing output from the plotters now includes a flush to ensure the plotter log (used by the GUI) is updated frequently.
* Handle madmax's tmptoggle option internally when plotting with the GUI
* Formatting and linter fix
* Fixed the -i option for bladebit
* Construct BladeBit plotting options
* Cleanup code for building plotter command line options
* Added a post-processing step after each plotting job completes. Adds the final_dir plot directory as necessary.
* Fix plotter root path
* Reverting prior checkin. Need to figure out how to handle CHIA_ROOT being overridden
* BladeBit support for Windows
* BladeBit's --memory-json option is used to check memory requirements
* Madmax Windows support
* Plotters directory is now under CHIA_ROOT
* Madmax version detection
* BladeBit will default to 0 threads. BladeBit will max-out available threads with this configuration.
* LGTM fixes
* Module definition for chia.plotters to resolve mypy issues with chiapos (package vs chiapos.py)
* Updated BladeBit build script to account for 1.2.0 changes.
Replaced remaining subprocess.run calls with run_command.
Use BladeBit's reported memory requirement instead of hardcoded value.
* Show a disclaimer when using thirdparty plotter
* Test adding mac madmax plotter to the installers
* Get latest madmax from the latest GH release
* Fix bad var name
* m1 madmax
* Add linux/linux arm
* pip install -e for arm installer, so that its consistent with the other platforms when looking for additional files
* madmax + windows
* Get madmax with Invoke-WebRequest
* Use the correct windows slashes
* add madmax to the list of windows binaries
* Check if madmax exists on windows install and move it to site packages if it does
* Make sure windows has .exe extension for madmax
* Update azure to get latest version of madmax from GH releases
* Bladebit for linux/linux arm
* Fix error with binaries.extend
* Bundle bladebit + windows
* Fix download url for bladebit
* Check for bladebit in windows script. move to correct directory if it exists
* Detect and use packaged plotters
* Removed unnecessary import
* Updating the branch to use chiaplotters_gui for installer verification
* Removed a change that was intended for debugging only
* Remove disclaimer
* Updated for new madmax plotter with k33, k34 support.
Updated chia-blockchain-gui submodule
* Fixed typo
* Package the chia_plot_k34 executable
* Boink
* Revert "Boink"
This reverts commit 8d13c07110.
* Additional chia_plot_k34 spots that I missed
* pyinstaller.spec fix for chia_plot_k34
* Windows installer fix for chia_plot_k34.exe
* Restoring chia-blockchain-gui submodule to 047ce16 (as in main)
* Update to chiapos 1.0.6
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
Co-authored-by: Jeff Cruikshank <jeff@chia.net>
Co-authored-by: Kyle Altendorf <sda@fstab.net>
Co-authored-by: Chris Marslender <chrismarslender@gmail.com>
Co-authored-by: Earle Lowe <30607889+emlowe@users.noreply.github.com>
* Update stale-issue.yml
minor QoL updates to wording based on feedback and changed stale PR threshold from 60 days to 45
* Update stale-issue.yml
battling the whitespace yaml demons
* Update stale-issue.yml
battling the whitespace yaml demons
* Update stale-issue.yml
added a EoF newline.
I hate yaml
* Update stale-issue.yml
removing and re-adding newline in a new format to try to appease the pre-commit gods
When the `>` approach was used the `'` became part of the text. Note https://github.com/Chia-Network/chia-blockchain/issues/8344#issuecomment-938552667 vs. https://github.com/Chia-Network/chia-blockchain/issues/8629#issuecomment-943250731.
```console
$ python -c 'import yaml; f = open(".github/workflows/stale-issue.yml"); x = yaml.safe_load(f); print(x)'
{'name': 'Close stale issues', True: {'schedule': [{'cron': '0 11 * * *'}]}, 'jobs': {'stale': {'runs-on': 'ubuntu-latest', 'steps': [{'uses': 'chia-network/stale@main', 'with': {'operations-per-run': 10000, 'ascending': True, 'days-before-issue-stale': 14, 'days-before-issue-close': 7, 'days-before-pr-stale': 60, 'days-before-pr-close': -1, 'exempt-all-pr-milestones': True, 'exempt-all-issue-milestones': True, 'exempt-all-assignees': True, 'stale-issue-label': 'stale-issue', 'stale-pr-label': 'stale-pr', 'remove-stale-when-updated': True, 'stale-issue-message': "'This issue has been flagged as stale, as there has been no activity on it in the last 14 days. If this issue is still affecting you and in need of further review, please comment on it with an update to keep it open.'\n", 'close-issue-message': "'This issue was automatically closed because it has been flagged as stale, and subsequently passed 7 days with no further activity from the submitter or watchers.'\n", 'stale-pr-message': "'This PR has been flagged as stale due to no activity for over 60 days. It will not be automatically closed, but it has been given a stale-pr label and should be manually reviewed by the relevant parties.'\n"}}]}}}
```
```console
$ git diff
diff --git a/.github/workflows/stale-issue.yml b/.github/workflows/stale-issue.yml
index 2c7c5839a..1ddb819c6 100644
--- a/.github/workflows/stale-issue.yml
+++ b/.github/workflows/stale-issue.yml
@@ -22,16 +22,16 @@ jobs:
stale-pr-label: stale-pr
remove-stale-when-updated: true
stale-issue-message: >
- 'This issue has been flagged as stale, as there has been no
+ This issue has been flagged as stale, as there has been no
activity on it in the last 14 days. If this issue is still
affecting you and in need of further review, please comment
- on it with an update to keep it open.'
+ on it with an update to keep it open.
close-issue-message: >
- 'This issue was automatically closed because it has been flagged
+ This issue was automatically closed because it has been flagged
as stale, and subsequently passed 7 days with no further activity
- from the submitter or watchers.'
+ from the submitter or watchers.
stale-pr-message: >
- 'This PR has been flagged as stale due to no activity for over 60
+ This PR has been flagged as stale due to no activity for over 60
days. It will not be automatically closed, but it has been given a
stale-pr label and should be manually reviewed by the relevant
- parties.'
+ parties.
```
```console
$ venv/bin/python -c 'import yaml; f = open(".github/workflows/stale-issue.yml"); x = yaml.safe_load(f); print(x)'
{'name': 'Close stale issues', True: {'schedule': [{'cron': '0 11 * * *'}]}, 'jobs': {'stale': {'runs-on': 'ubuntu-latest', 'steps': [{'uses': 'chia-network/stale@main', 'with': {'operations-per-run': 10000, 'ascending': True, 'days-before-issue-stale': 14, 'days-before-issue-close': 7, 'days-before-pr-stale': 60, 'days-before-pr-close': -1, 'exempt-all-pr-milestones': True, 'exempt-all-issue-milestones': True, 'exempt-all-assignees': True, 'stale-issue-label': 'stale-issue', 'stale-pr-label': 'stale-pr', 'remove-stale-when-updated': True, 'stale-issue-message': 'This issue has been flagged as stale, as there has been no activity on it in the last 14 days. If this issue is still affecting you and in need of further review, please comment on it with an update to keep it open.\n', 'close-issue-message': 'This issue was automatically closed because it has been flagged as stale, and subsequently passed 7 days with no further activity from the submitter or watchers.\n', 'stale-pr-message': 'This PR has been flagged as stale due to no activity for over 60 days. It will not be automatically closed, but it has been given a stale-pr label and should be manually reviewed by the relevant parties.\n'}}]}}}
```
Adding the `-` after the `>` additionally avoids the trailing newline.
```console
$ git diff
diff --git a/.github/workflows/stale-issue.yml b/.github/workflows/stale-issue.yml
index 2c7c5839a..1bee15516 100644
--- a/.github/workflows/stale-issue.yml
+++ b/.github/workflows/stale-issue.yml
@@ -21,17 +21,17 @@ jobs:
stale-issue-label: stale-issue
stale-pr-label: stale-pr
remove-stale-when-updated: true
- stale-issue-message: >
- 'This issue has been flagged as stale, as there has been no
+ stale-issue-message: >-
+ This issue has been flagged as stale, as there has been no
activity on it in the last 14 days. If this issue is still
affecting you and in need of further review, please comment
- on it with an update to keep it open.'
- close-issue-message: >
- 'This issue was automatically closed because it has been flagged
+ on it with an update to keep it open.
+ close-issue-message: >-
+ This issue was automatically closed because it has been flagged
as stale, and subsequently passed 7 days with no further activity
- from the submitter or watchers.'
- stale-pr-message: >
- 'This PR has been flagged as stale due to no activity for over 60
+ from the submitter or watchers.
+ stale-pr-message: >-
+ This PR has been flagged as stale due to no activity for over 60
days. It will not be automatically closed, but it has been given a
stale-pr label and should be manually reviewed by the relevant
- parties.'
+ parties.
```
```console
$ python -c 'import yaml; f = open(".github/workflows/stale-issue.yml"); x = yaml.safe_load(f); print(x)'
{'name': 'Close stale issues', True: {'schedule': [{'cron': '0 11 * * *'}]}, 'jobs': {'stale': {'runs-on': 'ubuntu-latest', 'steps': [{'uses': 'chia-network/stale@main', 'with': {'operations-per-run': 10000, 'ascending': True, 'days-before-issue-stale': 14, 'days-before-issue-close': 7, 'days-before-pr-stale': 60, 'days-before-pr-close': -1, 'exempt-all-pr-milestones': True, 'exempt-all-issue-milestones': True, 'exempt-all-assignees': True, 'stale-issue-label': 'stale-issue', 'stale-pr-label': 'stale-pr', 'remove-stale-when-updated': True, 'stale-issue-message': 'This issue has been flagged as stale, as there has been no activity on it in the last 14 days. If this issue is still affecting you and in need of further review, please comment on it with an update to keep it open.', 'close-issue-message': 'This issue was automatically closed because it has been flagged as stale, and subsequently passed 7 days with no further activity from the submitter or watchers.', 'stale-pr-message': 'This PR has been flagged as stale due to no activity for over 60 days. It will not be automatically closed, but it has been given a stale-pr label and should be manually reviewed by the relevant parties.'}}]}}}
```
* github: Add `pre-commit.yml`
This runs `pre-commit` as github action for all PRs and on pushes to
`main`.
* github: Drop trailing whitespaces in `stale_issue.yml`
* setup: Ignore type errors for `setup` call