Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chore: Merge next to develop #4631

Merged
merged 1,899 commits into from
Apr 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1899 commits
Select commit Hold shift + click to select a range
2305f35
fix: integration test timeout
hstove Mar 12, 2024
a9c5a39
Merge branch 'next' into feat/nakamoto-block-download-api
jcnelson Mar 12, 2024
c95e2da
Merge branch 'feat/nakamoto-block-download-api' into feat/nakamoto-bl…
jcnelson Mar 12, 2024
5150acf
Merge pull request #4522 from stacks-network/fix/stacked-amt-json-ser…
zone117x Mar 12, 2024
27df259
chore: simplify syntax
zone117x Mar 12, 2024
ebbfe1e
chore: pr feedback pox_stx_threshold to pox_ustx_threshold
zone117x Mar 12, 2024
87c0c00
Merge pull request #4497 from BowTiedDevOps/feat/move-build-scripts-t…
wileyj Mar 12, 2024
cc997bf
test: cleanup pox event test
janniks Mar 12, 2024
ab915e3
fix: update start and end cycle id generation
janniks Mar 12, 2024
54651f4
chore: remove unneeded lets
janniks Mar 12, 2024
93a918d
chore: remove boxing of 'SymbolicExpression's
ASuciuX Mar 13, 2024
d38a9e6
Merge branch 'next' into feat/add-pox-threshold-event-data
zone117x Mar 13, 2024
462356c
feat: remove boxing of 'PreSymbolicExpression' strutrure
ASuciuX Mar 13, 2024
9058e22
Merge pull request #4376 from stacks-network/feat/vote-for-key-burnop
hstove Mar 13, 2024
a5e6550
feat: add signer bitvec to `/new_block`
hstove Mar 13, 2024
fec1cb5
Merge pull request #4524 from stacks-network/feat/add-pox-threshold-e…
zone117x Mar 13, 2024
fdf1935
refactor: add a new 'devtools' feature in clarity crate
hugocaillard Mar 13, 2024
6b01281
fix: add wsts::Point validation to `vote-for-aggregate-key` burn op
hstove Mar 13, 2024
4ea7e1a
test: upgrade core-contract-tests dependencies
hugocaillard Mar 13, 2024
407c8b2
test: upgrade clarinet-sdk beta
hugocaillard Mar 13, 2024
b3ae5c5
ci: update stacks-core-tests
hugocaillard Mar 13, 2024
d458b74
Merge pull request #4521 from ASuciuX/chore/rename-clarity-methods
ASuciuX Mar 13, 2024
929bf1b
chore: add comment
hugocaillard Mar 13, 2024
238a099
fix: correct deserialization size check
obycode Mar 13, 2024
e9404a5
Merge pull request #4537 from stacks-network/fix/expected-size-debug
obycode Mar 13, 2024
d499381
fix: update revoke pox event
janniks Mar 13, 2024
dfb93a1
chore: fix unit tests and add docs
jcnelson Mar 13, 2024
410dc30
Merge branch 'next' into feat/nakamoto-block-download-api
jcnelson Mar 13, 2024
8589fbc
Merge branch 'feat/nakamoto-block-download-api' into feat/nakamoto-bl…
jcnelson Mar 13, 2024
616d33c
Merge pull request #4526 from stacks-network/feat/nakamoto-block-bitvec
hstove Mar 13, 2024
53173e5
Merge pull request #4536 from stacks-network/fix/validate-vote-burnop…
hstove Mar 13, 2024
b04c240
Merge branch 'next' into dream-team-fixes
obycode Mar 13, 2024
49eb61a
chore: delete commented code
obycode Mar 13, 2024
87347e4
Merge pull request #4495 from stacks-network/bugfix/do-not-unconditio…
saralab Mar 14, 2024
207cb69
feat: naka miner acts as signer set coordinator during block signing
kantai Mar 14, 2024
1e14b29
Merge branch 'next' into feat/pox-events-cycle-data
zone117x Mar 14, 2024
86fdb80
Merge pull request #4414 from stacks-network/feat/pox-events-cycle-data
zone117x Mar 14, 2024
f591098
fix: remove `--reward-cycle` from `stacks-signer run`
hstove Mar 14, 2024
948e9bc
test: update some integration tests to work with miner/coordinator sc…
kantai Mar 14, 2024
1385683
Merge remote-tracking branch 'origin/next' into feat/stacking-burnops…
hstove Mar 14, 2024
3adb6ed
Merge pull request #4528 from stacks-network/tests/upgrade-core-contr…
wileyj Mar 14, 2024
99347e5
fix: nakamoto integration test fix
hstove Mar 14, 2024
584ca20
feat: use u32 for auth_id
hstove Mar 14, 2024
9a180ef
chore: fix failing tests due to slot count changes, add MINER_SLOT_CO…
kantai Mar 15, 2024
33ea8f6
fix: json serialization for PoxAddress in RewardSet #4492
zone117x Mar 15, 2024
05d2bf1
Merge pull request #4520 from stacks-network/feat/allow-private-func-…
saralab Mar 15, 2024
9664056
fix: move event-dispatcher related code out of consensus & migration …
zone117x Mar 15, 2024
4c74495
Merge branch 'next' into fix/rewarded_addresses-json-serialization
zone117x Mar 15, 2024
08ebb7f
Merge pull request #4542 from stacks-network/fix/remove-reward-cycle-arg
hstove Mar 15, 2024
6e4d9cc
chore: add TODO for tracking burnchain/stacks views
kantai Mar 15, 2024
46f0451
Merge branch 'next' into fix/rewarded_addresses-json-serialization
zone117x Mar 15, 2024
1e81fa5
fix: rc_consensus_hash in the burn view is the stacks tip consensus h…
jcnelson Feb 6, 2024
844a8ed
fix: a bad slot signature should be a distinct error
jcnelson Feb 6, 2024
82b60b3
fix: NACK getchunks and getchunksinv requests with NackErrorCodes::St…
jcnelson Feb 6, 2024
6ee881b
fix: fix comments on rc_consensus_hash
jcnelson Feb 6, 2024
b156599
fix: force an initial burnchain view load for the p2p network if it h…
jcnelson Feb 6, 2024
be777c0
feat: test neighbors with stale views
jcnelson Feb 6, 2024
1c348d5
feat: track neighbors with stale views
jcnelson Feb 6, 2024
079a9af
chore: test that a peer with a stale view will not be acknowledged, b…
jcnelson Feb 6, 2024
d58ebf6
fix: instantiate burnchain DB earlier in the test framework, since th…
jcnelson Feb 6, 2024
d170065
Merge branch 'next' into dream-team-fixes
zone117x Mar 15, 2024
6278946
Merge pull request #4527 from stacks-network/dream-team-fixes
zone117x Mar 15, 2024
61edcf3
created new threshold-weight private function
setzeus Mar 5, 2024
b28af86
updated precision from three-figures to two
setzeus Mar 5, 2024
113b171
formatting
setzeus Mar 5, 2024
04ab036
updating round-data correctly
setzeus Mar 6, 2024
693c457
completed read-only
setzeus Mar 6, 2024
77c72d8
refactored to remove duplicated get-threshold-weight
setzeus Mar 6, 2024
6286cb9
removed leftover function
setzeus Mar 6, 2024
c389885
added params to round-data getter
setzeus Mar 6, 2024
a7b0095
updated comment
setzeus Mar 6, 2024
08afddd
get-round-info read-only test now functional
setzeus Mar 7, 2024
058adbf
simplified test
setzeus Mar 7, 2024
bb02ca1
added test for get-threshold-weight getter
setzeus Mar 7, 2024
5293892
removed duplicate get_round_info
setzeus Mar 7, 2024
6e4113c
fixed botched tests, removed extra issue
setzeus Mar 15, 2024
8e9d1ce
refactor: use variable for header.block_height - 2
jcnelson Mar 15, 2024
c3d6a27
docs: typo
jcnelson Mar 15, 2024
5ce87a5
chore: remove commented-out code
jcnelson Mar 15, 2024
da0e006
chore: cargo fmt
jcnelson Mar 15, 2024
77de080
chore: remove needless copyright statement
jcnelson Mar 15, 2024
39cd964
fix: handle PoX reorg fallout by refreshing wanted tenures; make it s…
jcnelson Mar 15, 2024
f7e8f9f
fix: check for PoX reorgs and handle them by clearing out cached cons…
jcnelson Mar 15, 2024
5de8d26
chore: remove commented-out code
jcnelson Mar 15, 2024
f0005e1
chore: typo
jcnelson Mar 15, 2024
eaeb4d8
feat: add helper to check to see if a reorg occured between a current…
jcnelson Mar 15, 2024
69a73c6
chore: cargo fmt
jcnelson Mar 15, 2024
e77f96e
chore: cargo fmt
jcnelson Mar 15, 2024
6de0fd6
chore: run follower_bootup test
jcnelson Mar 15, 2024
f81e5e9
Merge branch 'next' into feat/nakamoto-block-downloader
jcnelson Mar 15, 2024
77f91d2
Merge branch 'next' into feat/nakamoto-block-download-api
jcnelson Mar 15, 2024
e475eb2
fix: oops, unwanted files
jcnelson Mar 15, 2024
09f9c9f
Merge branch 'feat/nakamoto-block-download-api' into feat/nakamoto-bl…
jcnelson Mar 15, 2024
d3f1a31
Merge pull request #4496 from stacks-network/chore/weight-round-up
obycode Mar 16, 2024
e89d1af
Subscribe signer to new Burn block events
jferrant Mar 14, 2024
53587bf
Fix test calculations of block height
jferrant Mar 15, 2024
7c308a5
Refresh and initialize signers according to the current burn block he…
jferrant Mar 16, 2024
787a11e
fix: remove dead file
jcnelson Mar 16, 2024
af5e626
Merge remote-tracking branch 'origin/next' into feat/miner-coordinator
kantai Mar 16, 2024
9c19e9b
add rustdocs for StackerDBChannel
kantai Mar 16, 2024
ac0c087
cleanup sortdb invocations, remove unused structs, comments
kantai Mar 18, 2024
8b49d0f
Merge branch 'next' into fix/rewarded_addresses-json-serialization
zone117x Mar 18, 2024
373c082
chore: fix integration test
zone117x Mar 18, 2024
b4439f0
refactor: use RPC interface for stackerdb chunk writes (with explicit…
kantai Mar 18, 2024
3a94eb3
Merge pull request #4545 from stacks-network/fix/rewarded_addresses-j…
zone117x Mar 18, 2024
349befa
CRC: move temp structure to inside function
jferrant Mar 18, 2024
48bbbd5
Bugfix: Fix post stackerdb chunk ack error codes
jferrant Mar 18, 2024
9297a70
refactor: signer set parsing
kantai Mar 18, 2024
1e6b1cc
feat: add config parameters for burn block start
obycode Mar 18, 2024
420f132
chore: add changelog entry for `first_burn_block_*` configs
obycode Mar 18, 2024
17fe25d
Merge branch 'next' into feat/miner-coordinator
kantai Mar 18, 2024
0e9cf5d
Merge pull request #4549 from stacks-network/feat/signers-subscribe-t…
jferrant Mar 18, 2024
8ff05eb
fix: `target-cpu=native` works again, apply to ARM builds also
jbencin Mar 6, 2024
44ad74a
fix: resolve remaining issues with start block parameters
obycode Mar 18, 2024
80adc27
Merge pull request #4530 from ASuciuX/chore/remove-boxing-of-symbolic…
ASuciuX Mar 19, 2024
77dcca4
fix: better handling of optional fields in `StackStxOp`
hstove Mar 19, 2024
7de2268
Merge remote-tracking branch 'origin/next' into feat/stacking-burnops…
hstove Mar 19, 2024
605d94b
Merge branch 'next' into feat/miner-coordinator
kantai Mar 19, 2024
2bde48c
chore: fix rustc warns, cleanup events logs on /new_blocks event, inv…
kantai Mar 19, 2024
6405ba4
fix: remove `set-signer-key-auth` within stack-stx burn op
hstove Mar 19, 2024
7f3cf56
feat: update integration tests, verify success
hstove Mar 19, 2024
4d6c8f2
feat: cleanup handling of stacking ops
hstove Mar 19, 2024
4c1b5c5
feat: disable microblocks in epoch 2.5
kantai Mar 18, 2024
b214f23
chore: ensure bitcoin indexer gets the correct starting height
obycode Mar 19, 2024
c50a930
refactor: address PR review comments
kantai Mar 20, 2024
299bc66
chore: address PR comments and feedback
jcnelson Mar 20, 2024
497fec3
chore: fix clippy perf warnings in stacks-signer
ASuciuX Mar 20, 2024
c9a97cb
chore: fix comment
kantai Mar 20, 2024
0f91591
chore: oops, forgot to delete defunct funcs
kantai Mar 20, 2024
fe74b14
feat: validate burn block start height against epoch start heights
obycode Mar 20, 2024
cb136bf
Use PoxVersions enum for checking pox_contract version
Mar 20, 2024
468cb30
Merge pull request #4567 from ASuciuX/chore/fix-clippy-perf-warnings
ASuciuX Mar 20, 2024
ff68135
feat: fix clippy nursery warnings without 3 of them
ASuciuX Mar 20, 2024
1973b43
Merge remote-tracking branch 'origin/next' into chore/minor-signer-im…
Mar 20, 2024
eb2b5c9
Format fix post merge
Mar 20, 2024
1c5b5d1
Merge pull request #4498 from jbencin/fix/target-cpu-native
wileyj Mar 20, 2024
c569b3c
Merge branch 'next' into feat/miner-coordinator
kantai Mar 20, 2024
cb2f681
Merge branch 'next' into chore/minor-signer-improvement
8marz8 Mar 20, 2024
d356a59
chore: update the openapi.yaml file with the new API calls
jcnelson Mar 20, 2024
e058011
Merge branch 'next' into feat/nakamoto-block-download-api
jcnelson Mar 20, 2024
c7e9dac
Merge pull request #4491 from stacks-network/chore/minor-signer-impro…
8marz8 Mar 20, 2024
fbf1660
Merge branch 'next' into feat/miner-coordinator
kantai Mar 20, 2024
498b6c0
Merge pull request #4412 from stacks-network/feat/stacking-burnops-in…
8marz8 Mar 20, 2024
a04727d
Merge branch 'next' into feat/nakamoto-block-download-api
jcnelson Mar 20, 2024
8a745ef
chore: address more PR feedback
jcnelson Mar 20, 2024
07527ae
Merge branch 'next' into feat/miner-coordinator
kantai Mar 20, 2024
cb219c9
chore: merge artifacts
kantai Mar 21, 2024
eb74669
chore: address more PR feedback, including feedback-adjacent concerns…
jcnelson Mar 21, 2024
b392608
format fixes
ASuciuX Mar 21, 2024
d0bda2d
Merge branch 'next' into chore/fix-clippy-nursery-warnings
ASuciuX Mar 21, 2024
d5414a2
Merge pull request #4481 from stacks-network/feat/miner-coordinator
kantai Mar 21, 2024
284945b
Merge pull request #4561 from stacks-network/feat/2.5-no-microblocks
saralab Mar 21, 2024
e6dd66e
Merge branch 'next' into feat/nakamoto-block-download-api
jcnelson Mar 21, 2024
6d34791
Add affirmation overrides config option and add default xenon ones ne…
jferrant Mar 19, 2024
c21c1ca
Make affirmation overrides an optional and test it default adds them …
jferrant Mar 19, 2024
87f22b4
Open writeable database connection to burnchain db
jferrant Mar 20, 2024
c6844d0
Add context to affirmation overrides xenon function
jferrant Mar 20, 2024
0925569
Add missing line break
jferrant Mar 20, 2024
311309d
Have set_override_affirmation_map use upsert instead of insert
jferrant Mar 20, 2024
7f399b6
Remove accidentally included html file
jferrant Mar 20, 2024
99973d1
Add helper stacks client functions for getting vote threshold and cur…
jferrant Mar 19, 2024
ec500ba
Check if a vote has failed inside the contract and trigger a new one …
jferrant Mar 20, 2024
d2649ff
Merge pull request #4560 from stacks-network/feat/add-override-affirm…
wileyj Mar 21, 2024
5d4f8cd
Merge branch 'develop' into merge-develop
obycode Mar 21, 2024
19a373f
feat: remove missed-slot unlocks in 2.5
kantai Mar 21, 2024
077080b
fix: $ not *
jcnelson Mar 21, 2024
32fc3fb
Merge branch 'feat/nakamoto-block-download-api' of https://github.com…
jcnelson Mar 21, 2024
de9830a
Merge branch 'next' into feat/nakamoto-block-download-api
jcnelson Mar 21, 2024
274e754
Merge branch 'feat/nakamoto-block-download-api' into feat/nakamoto-bl…
jcnelson Mar 21, 2024
bcbde52
chore: address PR feedback and fix failing unit test
jcnelson Mar 21, 2024
b773422
Merge branch 'feat/nakamoto-block-download-api' into feat/nakamoto-bl…
jcnelson Mar 21, 2024
c601cf7
Merge pull request #4575 from stacks-network/merge-develop
obycode Mar 21, 2024
f0a890b
Merge pull request #4576 from stacks-network/feat/2.5-pox-updates
kantai Mar 21, 2024
4a64224
chore: split downloader into multiple files
jcnelson Mar 21, 2024
53c5136
chore: fix a few errors in the openapi.yaml
jcnelson Mar 21, 2024
80781ea
Merge branch 'feat/nakamoto-block-download-api' into feat/nakamoto-bl…
jcnelson Mar 21, 2024
c96cb17
feat: make nakamoto mode the default
obycode Mar 21, 2024
491d640
Merge branch 'next' into feat/nakamoto-block-download-api
jcnelson Mar 21, 2024
5335465
chore: address PR feedback
jcnelson Mar 21, 2024
e4eba6b
Merge branch 'feat/nakamoto-block-download-api' of https://github.com…
jcnelson Mar 21, 2024
78b76f3
Merge branch 'feat/nakamoto-block-download-api' into feat/nakamoto-bl…
jcnelson Mar 21, 2024
c073b30
Merge pull request #4476 from stacks-network/feat/nakamoto-block-down…
jcnelson Mar 21, 2024
140385c
Merge pull request #4577 from stacks-network/feat/nakamoto-xenon
obycode Mar 21, 2024
215f2aa
fix: allow `nakamoto-neon` mode
obycode Mar 22, 2024
349818d
change to inline variable format
ASuciuX Mar 22, 2024
9a6f698
Merge branch 'next' into chore/fix-clippy-nursery-warnings
ASuciuX Mar 22, 2024
6319d3b
fix: epoch 1.0 start height check
obycode Mar 22, 2024
25311e4
Merge pull request #4394 from stacks-network/feat/nakamoto-block-down…
jcnelson Mar 22, 2024
c3ea822
fix: update default config to be compatible with nakamoto
obycode Mar 22, 2024
6bbe6db
chore: add clarifying comment per PR feedback
obycode Mar 22, 2024
14765e5
test: fix tests
obycode Mar 22, 2024
3bbcd92
Merge branch 'next' into feat/config-start-block
obycode Mar 22, 2024
117d8be
fix: merge conflict error
obycode Mar 22, 2024
5f8a673
Merge pull request #4578 from stacks-network/fix-nakamoto-neon-mode
obycode Mar 22, 2024
8000a93
feat: add flag to output signer key signature in JSON
hstove Mar 22, 2024
3e43690
fix: add "method" to JSON
hstove Mar 22, 2024
441b7ed
Merge pull request #4556 from stacks-network/feat/config-start-block
obycode Mar 22, 2024
6460e62
Merge branch 'next' into feat/signer-signature-json
hstove Mar 22, 2024
f9e9791
Merge pull request #4572 from ASuciuX/chore/fix-clippy-nursery-warnings
jbencin Mar 23, 2024
ea0766e
feat: Integration test with signer reboot
netrome Mar 15, 2024
efd1f40
feat: Signer persistence implemented
netrome Mar 13, 2024
fd82236
refactor: More informative name for signer state machine
netrome Mar 22, 2024
2e47c8f
fix: Skip unviable mutants
netrome Mar 22, 2024
e358156
feat: Update `wsts` github rev
netrome Mar 22, 2024
ff44a6d
fix: Update polynomial construction in tests due to interface change
netrome Mar 22, 2024
fe01a6b
feat: Update wsts commit to test latest PartyAPI changes
netrome Mar 25, 2024
3ebcceb
feat: set testnet 2.5 activation height
kantai Mar 25, 2024
e6f698d
Merge pull request #4588 from stacks-network/feat/2.5-testnet
wileyj Mar 25, 2024
afa6f61
feat: Hard-code temp dir for integration test configuration
netrome Mar 25, 2024
b2f6146
feat: Use `u64_to_sql` instead of `.to_string()` to write `reward_cycle`
netrome Mar 25, 2024
e1eb3a0
create release of any branch if a tag is provided
wileyj Mar 25, 2024
aaab6bc
Merge pull request #4590 from stacks-network/fix/next-github-release
wileyj Mar 25, 2024
4080d27
feat: Set wsts version to 9.0.0
netrome Mar 25, 2024
818f0cf
feat: Improved integration test isolation by reintroducing a random r…
netrome Mar 25, 2024
8993e7f
adding missing flag to cargo.toml
wileyj Mar 26, 2024
0ff3ccb
added the mutants from PR #4483
ASuciuX Mar 26, 2024
9d97913
format it
ASuciuX Mar 26, 2024
5241d20
Merge branch 'next' into 4388-nakamoto-stacks-signer-should-store-its…
netrome Mar 26, 2024
06ddcf3
fix: core contract tests corrupted package.json
hugocaillard Mar 26, 2024
cff2e7d
ci: remove -f in npm install
hugocaillard Mar 26, 2024
b5722b6
Merge pull request #4592 from stacks-network/fix/4331-regression
wileyj Mar 26, 2024
d0df9d1
Merge pull request #4594 from stacks-network/fix/contrib-tests-corrup…
CharlieC3 Mar 26, 2024
c83e256
Merge branch 'next' into 4388-nakamoto-stacks-signer-should-store-its…
netrome Mar 26, 2024
844bc4b
fix: Add integration test to `bitcoin-tests.yaml`
netrome Mar 27, 2024
766c5ee
refactor: Use rusqlite::params! + remove dead code
netrome Mar 27, 2024
c9d16d0
fix: generating stacking signatures from b58 addresses
hstove Mar 27, 2024
42c58ad
fix: Remove redundant test
netrome Mar 27, 2024
b3f503d
CRC: fix typo and var name
jferrant Mar 28, 2024
b897662
fix: simplify `map_or_else`
hstove Mar 28, 2024
6efec78
fix: rustfmt error
hstove Mar 28, 2024
de10e1c
Merge branch 'next' into feat/signer-signature-json
hstove Mar 28, 2024
9d36bce
Merge branch 'next' into feat/track-mutants-clarity-contains-key
ASuciuX Mar 29, 2024
2686009
Merge pull request #4593 from ASuciuX/feat/track-mutants-clarity-cont…
wileyj Mar 29, 2024
0338c99
Merge branch 'next' into feat/signer-fix-parsing-btc-address
hstove Mar 30, 2024
9e43f89
Merge branch 'next' into feat/signer-signature-json
hstove Mar 30, 2024
2c1c255
chore: Add `release-lite` profile for low-RAM environments
jbencin Mar 27, 2024
cf4fab4
chore: Update "stacks-blockchain" -> "stacks-core"
jbencin Apr 1, 2024
c26e00c
Merge pull request #4600 from stacks-network/feat/signer-fix-parsing-…
wileyj Apr 1, 2024
876dced
Merge branch 'next' into feat/signer-signature-json
hstove Apr 1, 2024
37258ee
feat: dont pretty-print json output
hstove Apr 1, 2024
09ac58c
fix: don't log aggregate public keys as missing so often (do so at th…
jcnelson Apr 2, 2024
93ff0e8
Merge pull request #4611 from stacks-network/fix/4609
wileyj Apr 2, 2024
93b9ee1
Merge branch 'next' into 4388-nakamoto-stacks-signer-should-store-its…
netrome Apr 2, 2024
132c942
Merge pull request #4570 from stacks-network/4388-nakamoto-stacks-sig…
netrome Apr 2, 2024
e797c04
Merge pull request #4569 from stacks-network/feat/signers-get-round-info
jferrant Apr 2, 2024
132ced0
Merge pull request #4580 from stacks-network/feat/signer-signature-json
hstove Apr 2, 2024
aab1ffb
feat: more efficient tuple types, reduce type map tracking overhead
kantai Apr 2, 2024
95f5d74
Merge pull request #4614 from stacks-network/feat/tuple-perf-improvem…
kantai Apr 2, 2024
c383bdd
Merge pull request #4599 from jbencin/chore/release-lite-profile
jbencin Apr 2, 2024
956d209
Merge branch 'next' into chore/next-to-develop
kantai Apr 3, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 8 additions & 0 deletions .cargo/config
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,15 @@
stacks-node = "run --package stacks-node --"
fmt-stacks = "fmt -- --config group_imports=StdExternalCrate,imports_granularity=Module"

# Default to `native`
# This makes it slightly faster for running tests and locally built binaries.
# This can cause trouble when building "portable" binaries, such as for docker,
# so disable it with the "portable" feature.
[target.'cfg(not(feature = "portable"))']
rustflags = ["-Ctarget-cpu=native"]

# Needed by perf to generate flamegraphs.
#[target.x86_64-unknown-linux-gnu]
#linker = "/usr/bin/clang"
#rustflags = ["-Clink-arg=-fuse-ld=lld", "-Clink-arg=-Wl,--no-rosegment"]

4 changes: 3 additions & 1 deletion .github/actions/bitcoin-int-tests/Dockerfile.atlas-test
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
FROM rust:bullseye
FROM rust:bookworm

WORKDIR /src

COPY . .

RUN apt-get -y install libllvm16 libclang1-16

RUN cargo test --no-run --workspace

RUN cd / && wget https://bitcoin.org/bin/bitcoin-core-25.0/bitcoin-25.0-x86_64-linux-gnu.tar.gz
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM rust:bullseye
FROM rust:bookworm

WORKDIR /src/

Expand All @@ -12,6 +12,8 @@ RUN rustup component add llvm-tools-preview && \
ENV RUSTFLAGS="-Cinstrument-coverage" \
LLVM_PROFILE_FILE="stacks-blockchain-%p-%m.profraw"

RUN apt-get -y install libllvm16 libclang1-16

RUN cargo test --no-run && \
cargo build

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM rust:bullseye AS test
FROM rust:bookworm AS test

WORKDIR /src

Expand Down
4 changes: 2 additions & 2 deletions .github/actions/bitcoin-int-tests/Dockerfile.net-tests
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM rust:bullseye
FROM rust:bookworm

WORKDIR /src

Expand All @@ -11,7 +11,7 @@ RUN ln -s /bitcoin-25.0/bin/bitcoind /bin/
RUN ln -s /bitcoin-25.0/bin/bitcoin-cli /bin/

RUN apt-get update
RUN apt-get install -y jq screen net-tools ncat sqlite3 xxd openssl curl
RUN apt-get install -y jq screen net-tools ncat sqlite3 xxd openssl curl libllvm16 libclang1-16

RUN cargo build --workspace

Expand Down
2 changes: 1 addition & 1 deletion .github/actions/bitcoin-int-tests/Dockerfile.rustfmt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM rust:bullseye
FROM rust:bookworm

WORKDIR /src

Expand Down
19 changes: 11 additions & 8 deletions .github/actions/dockerfiles/Dockerfile.alpine-binary
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,19 @@ ARG TARGETPLATFORM
ARG BUILDPLATFORM
ARG TARGETARCH
ARG TARGETVARIANT
ARG REPO=stacks-network/stacks-core
ARG REPO

RUN case ${TARGETARCH} in \
"amd64") BIN_ARCH=linux-musl-x64 ;; \
"arm64") BIN_ARCH=linux-musl-arm64 ;; \
"arm") BIN_ARCH=linux-musl-armv7 ;; \
"*") exit 1 ;; \
RUN case ${TARGETPLATFORM} in \
linux/amd64/v2) BIN_ARCH=linux-glibc-x64-v2 ;; \
linux/amd64*) BIN_ARCH=linux-glibc-x64 ;; \
linux/arm64*) BIN_ARCH=linux-glibc-arm64 ;; \
linux/arm/v7) BIN_ARCH=linux-glibc-armv7 ;; \
*) exit 1 ;; \
esac \
&& echo "wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip" \
&& wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip \
&& echo "TARGETPLATFORM: $TARGETPLATFORM" \
&& echo "BIN_ARCH: $BIN_ARCH" \
&& echo "wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip" \
&& wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip \
&& unzip ${BIN_ARCH}.zip -d /out

FROM --platform=${TARGETPLATFORM} alpine
Expand Down
21 changes: 12 additions & 9 deletions .github/actions/dockerfiles/Dockerfile.debian-binary
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,21 @@ ARG TARGETPLATFORM
ARG BUILDPLATFORM
ARG TARGETARCH
ARG TARGETVARIANT
ARG REPO=stacks-network/stacks-core
ARG REPO

RUN case ${TARGETARCH} in \
"amd64") BIN_ARCH=linux-musl-x64 ;; \
"arm64") BIN_ARCH=linux-musl-arm64 ;; \
"arm") BIN_ARCH=linux-musl-armv7 ;; \
"*") exit 1 ;; \
RUN case ${TARGETPLATFORM} in \
linux/amd64/v2) BIN_ARCH=linux-glibc-x64-v2 ;; \
linux/amd64*) BIN_ARCH=linux-glibc-x64 ;; \
linux/arm64*) BIN_ARCH=linux-glibc-arm64 ;; \
linux/arm/v7) BIN_ARCH=linux-glibc-armv7 ;; \
*) exit 1 ;; \
esac \
&& echo "wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip" \
&& wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip \
&& echo "TARGETPLATFORM: $TARGETPLATFORM" \
&& echo "BIN_ARCH: $BIN_ARCH" \
&& echo "wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip" \
&& wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip \
&& unzip ${BIN_ARCH}.zip -d /out

FROM --platform=${TARGETPLATFORM} debian:bullseye
FROM --platform=${TARGETPLATFORM} debian:bookworm
COPY --from=builder /out/stacks-node /bin/
CMD ["stacks-node", "mainnet"]
13 changes: 8 additions & 5 deletions .github/actions/dockerfiles/Dockerfile.debian-source
Original file line number Diff line number Diff line change
@@ -1,25 +1,28 @@
FROM rust:bullseye as build
FROM rust:bookworm as build

ARG STACKS_NODE_VERSION="No Version Info"
ARG GIT_BRANCH='No Branch Info'
ARG GIT_COMMIT='No Commit Info'
ARG BUILD_DIR=/build
ARG TARGET=x86_64-unknown-linux-gnu
# Allow us to override the default `--target-cpu` for the given target triplet
ARG TARGET_CPU
ENV RUSTFLAGS="${TARGET_CPU:+${RUSTFLAGS} -Ctarget-cpu=${TARGET_CPU}}"
WORKDIR /src

COPY . .

RUN apt-get update && apt-get install -y git libclang-dev

# Run all the build steps in ramdisk in an attempt to speed things up
RUN target=${BUILD_DIR} cp -R /src/. ${BUILD_DIR}/ \
RUN --mount=type=tmpfs,target=${BUILD_DIR} cp -R /src/. ${BUILD_DIR}/ \
&& cd ${BUILD_DIR} \
&& rustup target add ${TARGET} \
&& rustup component add rustfmt \
&& cargo build --features monitoring_prom,slog_json --release --workspace --target ${TARGET} \
&& cargo build --features monitoring_prom,slog_json,portable --release --workspace --target ${TARGET} \
&& mkdir -p /out \
&& cp -R ${BUILD_DIR}/target/${TARGET}/release/. /out

FROM --platform=${TARGETPLATFORM} debian:bullseye
COPY --from=build /out/stacks-node /bin/
FROM --platform=${TARGETPLATFORM} debian:bookworm
COPY --from=build /out/stacks-node /out/stacks-signer /bin/
CMD ["stacks-node", "mainnet"]
2 changes: 1 addition & 1 deletion .github/actions/docsgen/Dockerfile.docsgen
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM rust:bullseye as build
FROM rust:bookworm as build

WORKDIR /src

Expand Down
22 changes: 20 additions & 2 deletions .github/workflows/bitcoin-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
test-name:
- tests::bitcoin_regtest::bitcoind_integration_test
- tests::integrations::integration_test_get_info
- tests::neon_integrations::antientropy_integration_test
- tests::neon_integrations::antientropy_integration_test
- tests::neon_integrations::bad_microblock_pubkey
- tests::neon_integrations::bitcoind_forking_test
- tests::neon_integrations::bitcoind_integration_test
Expand Down Expand Up @@ -59,6 +59,7 @@ jobs:
- tests::neon_integrations::size_overflow_unconfirmed_stream_microblocks_integration_test
- tests::neon_integrations::stx_delegate_btc_integration_test
- tests::neon_integrations::stx_transfer_btc_integration_test
- tests::neon_integrations::stack_stx_burn_op_test
- tests::neon_integrations::test_chainwork_first_intervals
- tests::neon_integrations::test_chainwork_partial_interval
- tests::neon_integrations::test_flash_block_skip_tenure
Expand All @@ -68,8 +69,25 @@ jobs:
- tests::neon_integrations::test_problematic_microblocks_are_not_relayed_or_stored
- tests::neon_integrations::test_problematic_txs_are_not_stored
- tests::neon_integrations::use_latest_tip_integration_test
- tests::neon_integrations::confirm_unparsed_ongoing_ops
- tests::neon_integrations::min_txs
- tests::neon_integrations::vote_for_aggregate_key_burn_op_test
- tests::epoch_25::microblocks_disabled
- tests::should_succeed_handling_malformed_and_valid_txs
- tests::nakamoto_integrations::simple_neon_integration
- tests::nakamoto_integrations::mine_multiple_per_tenure_integration
- tests::nakamoto_integrations::block_proposal_api_endpoint
- tests::nakamoto_integrations::miner_writes_proposed_block_to_stackerdb
- tests::nakamoto_integrations::correct_burn_outs
- tests::nakamoto_integrations::vote_for_aggregate_key_burn_op
- tests::nakamoto_integrations::follower_bootup
- tests::signer::stackerdb_dkg
- tests::signer::stackerdb_sign
- tests::signer::stackerdb_block_proposal
- tests::signer::stackerdb_filter_bad_transactions
- tests::signer::stackerdb_mine_2_nakamoto_reward_cycles
- tests::signer::stackerdb_sign_after_signer_reboot
- tests::nakamoto_integrations::stack_stx_burn_op_integration_test
# Do not run this one until we figure out why it fails in CI
# - tests::neon_integrations::bitcoin_reorg_flap
steps:
Expand All @@ -79,7 +97,7 @@ jobs:
uses: stacks-network/actions/stacks-core/testenv@main
with:
btc-version: "25.0"

## Run test matrix using restored cache of archive file
## - Test will timeout after env.TEST_TIMEOUT minutes
- name: Run Tests
Expand Down
12 changes: 8 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
name: CI

on:
merge_group:
types:
- checks_requested
push:
branches:
- master
Expand Down Expand Up @@ -77,18 +80,18 @@ jobs:

- name: Rustfmt
id: rustfmt
uses: actions-rust-lang/rustfmt@2d1d4e9f72379428552fa1def0b898733fb8472d # v1.1.0
uses: stacks-network/actions/rustfmt@main
with:
alias: "fmt-stacks"

######################################################################################
## Create a tagged github release
##
## Runs when the following is true:
## - tag is provided
## - workflow is building default branch (master)
create-release:
if: |
inputs.tag != '' &&
github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
inputs.tag != ''
name: Create Release
needs:
- rustfmt
Expand Down Expand Up @@ -145,6 +148,7 @@ jobs:
) ||
github.event_name == 'workflow_dispatch' ||
github.event_name == 'pull_request' ||
github.event_name == 'merge_group' ||
(
contains('
refs/heads/master
Expand Down
64 changes: 27 additions & 37 deletions .github/workflows/create-source-binary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,6 @@ on:
description: "Tag name of this release (x.y.z)"
required: true
type: string
arch:
description: "Stringified JSON object listing of platform matrix"
required: false
type: string
default: >-
["linux-glibc-x64", "linux-musl-x64", "linux-glibc-arm64", "linux-glibc-armv7", "linux-musl-arm64", "linux-musl-armv7", "macos-x64", "macos-arm64", "windows-x64"]

## change the display name to the tag being built
run-name: ${{ inputs.tag }}
Expand All @@ -27,44 +21,40 @@ concurrency:
jobs:
## Runs when the following is true:
## - tag is provided
## - workflow is building default branch (master)
artifact:
if: |
inputs.tag != '' &&
github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
inputs.tag != ''
name: Build Binaries
runs-on: ubuntu-latest
strategy:
## Run a maximum of 10 builds concurrently, using the matrix defined in inputs.arch
max-parallel: 10
matrix:
platform: ${{ fromJson(inputs.arch) }}
steps:
## Setup Docker for the builds
- name: Docker setup
uses: stacks-network/actions/docker@main

## Build the binaries using defined dockerfiles
- name: Build Binary (${{ matrix.platform }})
id: build_binaries
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # 5.0.0
with:
file: build-scripts/Dockerfile.${{ matrix.platform }}
outputs: type=local,dest=./release/${{ matrix.platform }}
build-args: |
STACKS_NODE_VERSION=${{ inputs.tag || env.GITHUB_SHA_SHORT }}
OS_ARCH=${{ matrix.platform }}
GIT_BRANCH=${{ env.GITHUB_REF_SHORT }}
GIT_COMMIT=${{ env.GITHUB_SHA_SHORT }}

## Compress the binary artifact
- name: Compress artifact
id: compress_artifact
run: zip --junk-paths ${{ matrix.platform }} ./release/${{ matrix.platform }}/*
arch:
- linux-musl
- linux-glibc
- macos
- windows
cpu:
- arm64
- armv7
- x86-64 ## defaults to x86-64-v3 variant - intel haswell (2013) and newer
# - x86-64-v2 ## intel nehalem (2008) and newer
# - x86-64-v3 ## intel haswell (2013) and newer
# - x86-64-v4 ## intel skylake (2017) and newer
exclude:
- arch: windows # excludes windows-arm64
cpu: arm64
- arch: windows # excludes windows-armv7
cpu: armv7
- arch: macos # excludes macos-armv7
cpu: armv7

## Upload the binary artifact to the github action (used in `github-release.yml` to create a release)
- name: Upload artifact
id: upload_artifact
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
steps:
- name: Build Binary (${{ matrix.arch }}_${{ matrix.cpu }})
id: build_binary
uses: stacks-network/actions/stacks-core/create-source-binary@main
with:
path: ${{ matrix.platform }}.zip
arch: ${{ matrix.arch }}
cpu: ${{ matrix.cpu }}
tag: ${{ inputs.tag }}
10 changes: 3 additions & 7 deletions .github/workflows/github-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,9 @@ jobs:
##
## Runs when the following is true:
## - tag is provided
## - workflow is building default branch (master)
build-binaries:
if: |
inputs.tag != '' &&
github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
inputs.tag != ''
name: Build Binaries
uses: ./.github/workflows/create-source-binary.yml
with:
Expand All @@ -41,8 +39,7 @@ jobs:
## - workflow is building default branch (master)
create-release:
if: |
inputs.tag != '' &&
github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
inputs.tag != ''
name: Create Release
runs-on: ubuntu-latest
needs:
Expand Down Expand Up @@ -84,8 +81,7 @@ jobs:
## - workflow is building default branch (master)
docker-image:
if: |
inputs.tag != '' &&
github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
inputs.tag != ''
name: Docker Image (Binary)
uses: ./.github/workflows/image-build-binary.yml
needs:
Expand Down
Loading