Skip to content

Commit 362d8e0

Browse files
committed
Merge branch 'develop' of https://github.com/stacks-network/stacks-core into feat/monitor-signers-cli-command
2 parents a531b50 + b5250c6 commit 362d8e0

Some content is hidden

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

79 files changed

+6011
-2648
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
@@ -113,8 +122,6 @@ jobs:
113122
- tests::nakamoto_integrations::follower_bootup_across_multiple_cycles
114123
- tests::nakamoto_integrations::utxo_check_on_startup_panic
115124
- tests::nakamoto_integrations::utxo_check_on_startup_recover
116-
- tests::signer::v0::multiple_miners_with_nakamoto_blocks
117-
- tests::signer::v0::partial_tenure_fork
118125
# Do not run this one until we figure out why it fails in CI
119126
# - tests::neon_integrations::bitcoin_reorg_flap
120127
# - tests::neon_integrations::bitcoin_reorg_flap_with_follower
@@ -134,6 +141,11 @@ jobs:
134141
with:
135142
btc-version: "25.0"
136143

144+
## Increase open file descriptors limit
145+
- name: Increase Open File Descriptors
146+
run: |
147+
sudo prlimit --nofile=4096:4096
148+
137149
## Run test matrix using restored cache of archive file
138150
## - Test will timeout after env.TEST_TIMEOUT minutes
139151
- 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:

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.

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)