Skip to content

Commit e236019

Browse files
committed
Merge branch 'develop' of https://github.com/stacks-network/stacks-core into feat/signature-count-endpoint
2 parents 2500856 + 0146ba2 commit e236019

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+6008
-2144
lines changed

.github/workflows/bitcoin-tests.yml

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ jobs:
4545
- tests::neon_integrations::liquid_ustx_integration
4646
- tests::neon_integrations::microblock_fork_poison_integration_test
4747
- tests::neon_integrations::microblock_integration_test
48-
- tests::neon_integrations::microblock_large_tx_integration_test_FLAKY
48+
# Disable this flaky test. Microblocks are no longer supported anyways.
49+
# - tests::neon_integrations::microblock_large_tx_integration_test_FLAKY
4950
- tests::neon_integrations::microblock_limit_hit_integration_test
5051
- tests::neon_integrations::miner_submit_twice
5152
- tests::neon_integrations::mining_events_integration_test
@@ -73,6 +74,7 @@ jobs:
7374
- tests::neon_integrations::min_txs
7475
- tests::neon_integrations::vote_for_aggregate_key_burn_op_test
7576
- tests::neon_integrations::mock_miner_replay
77+
- tests::neon_integrations::listunspent_max_utxos
7678
- tests::epoch_25::microblocks_disabled
7779
- tests::should_succeed_handling_malformed_and_valid_txs
7880
- tests::nakamoto_integrations::simple_neon_integration
@@ -86,7 +88,6 @@ jobs:
8688
- tests::nakamoto_integrations::nakamoto_attempt_time
8789
- tests::signer::v0::block_proposal_rejection
8890
- tests::signer::v0::miner_gather_signatures
89-
- tests::signer::v0::mine_2_nakamoto_reward_cycles
9091
- tests::signer::v0::end_of_tenure
9192
- tests::signer::v0::forked_tenure_okay
9293
- tests::signer::v0::forked_tenure_invalid
@@ -95,12 +96,20 @@ jobs:
9596
- tests::signer::v0::multiple_miners
9697
- tests::signer::v0::mock_sign_epoch_25
9798
- tests::signer::v0::multiple_miners_mock_sign_epoch_25
98-
- tests::signer::v0::signer_set_rollover
9999
- tests::signer::v0::miner_forking
100100
- tests::signer::v0::reloads_signer_set_in
101101
- tests::signer::v0::signers_broadcast_signed_blocks
102102
- tests::signer::v0::min_gap_between_blocks
103103
- tests::signer::v0::duplicate_signers
104+
- tests::signer::v0::retry_on_rejection
105+
- tests::signer::v0::locally_accepted_blocks_overriden_by_global_rejection
106+
- tests::signer::v0::locally_rejected_blocks_overriden_by_global_acceptance
107+
- tests::signer::v0::reorg_locally_accepted_blocks_across_tenures_succeeds
108+
- tests::signer::v0::miner_recovers_when_broadcast_block_delay_across_tenures_occurs
109+
- tests::signer::v0::multiple_miners_with_nakamoto_blocks
110+
- tests::signer::v0::partial_tenure_fork
111+
- tests::signer::v0::mine_2_nakamoto_reward_cycles
112+
- tests::signer::v0::signer_set_rollover
104113
- tests::nakamoto_integrations::stack_stx_burn_op_integration_test
105114
- tests::nakamoto_integrations::check_block_heights
106115
- tests::nakamoto_integrations::clarity_burn_state
@@ -114,8 +123,6 @@ jobs:
114123
- tests::nakamoto_integrations::utxo_check_on_startup_panic
115124
- tests::nakamoto_integrations::utxo_check_on_startup_recover
116125
- tests::nakamoto_integrations::v3_signer_api_endpoint
117-
- tests::signer::v0::multiple_miners_with_nakamoto_blocks
118-
- tests::signer::v0::partial_tenure_fork
119126
# Do not run this one until we figure out why it fails in CI
120127
# - tests::neon_integrations::bitcoin_reorg_flap
121128
# - tests::neon_integrations::bitcoin_reorg_flap_with_follower
@@ -135,6 +142,11 @@ jobs:
135142
with:
136143
btc-version: "25.0"
137144

145+
## Increase open file descriptors limit
146+
- name: Increase Open File Descriptors
147+
run: |
148+
sudo prlimit --nofile=4096:4096
149+
138150
## Run test matrix using restored cache of archive file
139151
## - Test will timeout after env.TEST_TIMEOUT minutes
140152
- name: Run Tests

.github/workflows/ci.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,29 @@ jobs:
186186
- check-release
187187
uses: ./.github/workflows/bitcoin-tests.yml
188188

189+
190+
p2p-tests:
191+
if: |
192+
needs.check-release.outputs.is_release == 'true' || (
193+
github.event_name == 'workflow_dispatch' ||
194+
github.event_name == 'pull_request' ||
195+
github.event_name == 'merge_group' ||
196+
(
197+
contains('
198+
refs/heads/master
199+
refs/heads/develop
200+
refs/heads/next
201+
', github.event.pull_request.head.ref) &&
202+
github.event_name == 'push'
203+
)
204+
)
205+
name: P2P Tests
206+
needs:
207+
- rustfmt
208+
- create-cache
209+
- check-release
210+
uses: ./.github/workflows/p2p-tests.yml
211+
189212
## Test to run on a tagged release
190213
##
191214
## Runs when:

.github/workflows/p2p-tests.yml

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
## Github workflow to run p2p tests
2+
3+
name: Tests::P2P
4+
5+
on:
6+
workflow_call:
7+
8+
## env vars are transferred to composite action steps
9+
env:
10+
BITCOIND_TEST: 0
11+
RUST_BACKTRACE: full
12+
SEGMENT_DOWNLOAD_TIMEOUT_MINS: 15
13+
TEST_TIMEOUT: 30
14+
15+
concurrency:
16+
group: stackslib-tests-${{ github.head_ref || github.ref || github.run_id}}
17+
## Only cancel in progress if this is for a PR
18+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
19+
20+
jobs:
21+
# p2p integration tests with code coverage
22+
integration-tests:
23+
name: Integration Tests
24+
runs-on: ubuntu-latest
25+
strategy:
26+
## Continue with the test matrix even if we've had a failure
27+
fail-fast: false
28+
## Run a maximum of 32 concurrent tests from the test matrix
29+
max-parallel: 32
30+
matrix:
31+
test-name:
32+
- net::tests::convergence::test_walk_ring_allow_15
33+
- net::tests::convergence::test_walk_ring_15_plain
34+
- net::tests::convergence::test_walk_ring_15_pingback
35+
- net::tests::convergence::test_walk_ring_15_org_biased
36+
- net::tests::convergence::test_walk_line_allowed_15
37+
- net::tests::convergence::test_walk_line_15_plain
38+
- net::tests::convergence::test_walk_line_15_org_biased
39+
- net::tests::convergence::test_walk_line_15_pingback
40+
- net::tests::convergence::test_walk_star_allowed_15
41+
- net::tests::convergence::test_walk_star_15_plain
42+
- net::tests::convergence::test_walk_star_15_pingback
43+
- net::tests::convergence::test_walk_star_15_org_biased
44+
- net::tests::convergence::test_walk_inbound_line_15
45+
steps:
46+
## Setup test environment
47+
- name: Setup Test Environment
48+
id: setup_tests
49+
uses: stacks-network/actions/stacks-core/testenv@main
50+
with:
51+
btc-version: "25.0"
52+
53+
## Increase open file descriptors limit
54+
- name: Increase Open File Descriptors
55+
run: |
56+
sudo prlimit --nofile=4096:4096
57+
58+
## Run test matrix using restored cache of archive file
59+
## - Test will timeout after env.TEST_TIMEOUT minutes
60+
- name: Run Tests
61+
id: run_tests
62+
timeout-minutes: ${{ fromJSON(env.TEST_TIMEOUT) }}
63+
uses: stacks-network/actions/stacks-core/run-tests@main
64+
with:
65+
test-name: ${{ matrix.test-name }}
66+
threads: 1
67+
68+
## Create and upload code coverage file
69+
- name: Code Coverage
70+
id: codecov
71+
uses: stacks-network/actions/codecov@main
72+
with:
73+
test-name: ${{ matrix.test-name }}
74+
75+
check-tests:
76+
name: Check Tests
77+
runs-on: ubuntu-latest
78+
if: always()
79+
needs:
80+
- integration-tests
81+
steps:
82+
- name: Check Tests Status
83+
id: check_tests_status
84+
uses: stacks-network/actions/check-jobs-status@main
85+
with:
86+
jobs: ${{ toJson(needs) }}
87+
summary_print: "true"

.github/workflows/standalone-tests.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ on:
2121
- Atlas Tests
2222
- Bitcoin Tests
2323
- Epoch Tests
24+
- P2P Tests
2425
- Slow Tests
2526
- Stacks-Core Tests
2627
- SBTC Tests
@@ -69,6 +70,23 @@ jobs:
6970
- create-cache
7071
uses: ./.github/workflows/bitcoin-tests.yml
7172

73+
## Runs when:
74+
## either or of the following:
75+
## - workflow is 'Release Tests'
76+
## - workflow is 'CI Tests'
77+
## - workflow is 'P2P Tests'
78+
p2p-tests:
79+
if: |
80+
(
81+
inputs.workflow == 'Release Tests' ||
82+
inputs.workflow == 'CI Tests' ||
83+
inputs.workflow == 'P2P Tests'
84+
)
85+
name: P2P Tests
86+
needs:
87+
- create-cache
88+
uses: ./.github/workflows/p2p-tests.yml
89+
7290
#####################################################
7391
## Runs when:
7492
## either or of the following:

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,28 @@ and this project adheres to the versioning scheme outlined in the [README.md](RE
1818
- `get-block-info?` removed
1919
- Added `/v3/signer/` endpoint
2020

21+
## [2.5.0.0.7]
22+
23+
### Added
24+
25+
- Add warn logs for block validate rejections (#5079)
26+
- Neon mock miner replay (#5060)
27+
28+
### Changed
29+
30+
- Revert BurnchainHeaderHash serialization change (#5094)
31+
- boot_to_epoch_3 in SignerTest should wait for a new commit (#5087)
32+
- Fix block proposal rejection test (#5084)
33+
- Mock signing revamp (#5070)
34+
- Multi miner fixes jude (#5040)
35+
- Remove spurious deadlock condition whenever the sortition DB is opened
36+
37+
## [2.5.0.0.6]
38+
39+
### Changed
40+
41+
- If there is a getchunk/putchunk that fails due to a stale (or future) version NACK, the StackerDB sync state machine should immediately retry sync (#5066)
42+
2143
## [2.5.0.0.5]
2244

2345
### Added

Cargo.lock

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

clarity/src/vm/database/sqlite.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ use rusqlite::{
2121
};
2222
use stacks_common::types::chainstate::{BlockHeaderHash, StacksBlockId};
2323
use stacks_common::types::sqlite::NO_PARAMS;
24-
use stacks_common::util::db_common::tx_busy_handler;
24+
use stacks_common::util::db::tx_busy_handler;
2525
use stacks_common::util::hash::Sha512Trunc256Sum;
2626

2727
use super::clarity_store::{make_contract_hash_key, ContractCommitment};

docs/rpc/openapi.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -568,7 +568,7 @@ paths:
568568
example:
569569
$ref: ./api/core-node/post-block-proposal-req.example.json
570570

571-
/v2/stacker_set/{cycle_number}:
571+
/v3/stacker_set/{cycle_number}:
572572
get:
573573
summary: Fetch the stacker and signer set information for a given cycle.
574574
tags:

libsigner/src/events.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,9 @@ impl<T: SignerEventTrait> EventReceiver<T> for SignerEventReceiver<T> {
314314
process_proposal_response(request)
315315
} else if request.url() == "/new_burn_block" {
316316
process_new_burn_block_event(request)
317+
} else if request.url() == "/shutdown" {
318+
event_receiver.stop_signal.store(true, Ordering::SeqCst);
319+
return Err(EventError::Terminated);
317320
} else {
318321
let url = request.url().to_string();
319322
// `/new_block` is expected, but not specifically handled. do not log.

0 commit comments

Comments
 (0)