Skip to content

Commit 9c8ed7b

Browse files
authored
Merge pull request #5721 from stacks-network/release/3.1.0.0.3
Release 3.1.0.0.3 to master
2 parents eb86527 + 906a8cc commit 9c8ed7b

File tree

310 files changed

+6764
-5002
lines changed

Some content is hidden

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

310 files changed

+6764
-5002
lines changed

.github/workflows/bitcoin-tests.yml

+12-2
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,8 @@ jobs:
8989
- tests::nakamoto_integrations::miner_writes_proposed_block_to_stackerdb
9090
- tests::nakamoto_integrations::correct_burn_outs
9191
- tests::nakamoto_integrations::vote_for_aggregate_key_burn_op
92-
- tests::nakamoto_integrations::follower_bootup
92+
- tests::nakamoto_integrations::follower_bootup_simple
93+
- tests::nakamoto_integrations::follower_bootup_custom_chain_id
9394
- tests::nakamoto_integrations::forked_tenure_is_ignored
9495
- tests::nakamoto_integrations::nakamoto_attempt_time
9596
- tests::nakamoto_integrations::skip_mining_long_tx
@@ -122,14 +123,22 @@ jobs:
122123
- tests::signer::v0::signer_set_rollover
123124
- tests::signer::v0::signing_in_0th_tenure_of_reward_cycle
124125
- tests::signer::v0::continue_after_tenure_extend
125-
- tests::signer::v0::tenure_extend_after_idle
126+
- tests::signer::v0::tenure_extend_after_idle_signers
127+
- tests::signer::v0::tenure_extend_after_idle_miner
128+
- tests::signer::v0::tenure_extend_succeeds_after_rejected_attempt
126129
- tests::signer::v0::stx_transfers_dont_effect_idle_timeout
127130
- tests::signer::v0::idle_tenure_extend_active_mining
128131
- tests::signer::v0::multiple_miners_with_custom_chain_id
129132
- tests::signer::v0::block_commit_delay
130133
- tests::signer::v0::continue_after_fast_block_no_sortition
131134
- tests::signer::v0::block_validation_response_timeout
132135
- tests::signer::v0::tenure_extend_after_bad_commit
136+
- tests::signer::v0::block_proposal_max_age_rejections
137+
- tests::signer::v0::global_acceptance_depends_on_block_announcement
138+
- tests::signer::v0::no_reorg_due_to_successive_block_validation_ok
139+
- tests::signer::v0::incoming_signers_ignore_block_proposals
140+
- tests::signer::v0::outgoing_signers_ignore_block_proposals
141+
- tests::signer::v0::injected_signatures_are_ignored_across_boundaries
133142
- tests::nakamoto_integrations::burn_ops_integration_test
134143
- tests::nakamoto_integrations::check_block_heights
135144
- tests::nakamoto_integrations::clarity_burn_state
@@ -140,6 +149,7 @@ jobs:
140149
- tests::nakamoto_integrations::mock_mining
141150
- tests::nakamoto_integrations::multiple_miners
142151
- tests::nakamoto_integrations::follower_bootup_across_multiple_cycles
152+
- tests::nakamoto_integrations::nakamoto_lockup_events
143153
- tests::nakamoto_integrations::utxo_check_on_startup_panic
144154
- tests::nakamoto_integrations::utxo_check_on_startup_recover
145155
- tests::nakamoto_integrations::v3_signer_api_endpoint

.github/workflows/ci.yml

+32
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,38 @@ jobs:
164164
- check-release
165165
uses: ./.github/workflows/stacks-core-tests.yml
166166

167+
## Checks to run on built binaries
168+
##
169+
## Runs when:
170+
## - it is a release run
171+
## or:
172+
## - it is not a release run
173+
## and any of:
174+
## - this workflow is called manually
175+
## - PR is opened
176+
## - PR added to merge queue
177+
## - commit to either (development, next, master) branch
178+
stacks-core-build-tests:
179+
if: |
180+
needs.check-release.outputs.is_release == 'true' || (
181+
github.event_name == 'workflow_dispatch' ||
182+
github.event_name == 'pull_request' ||
183+
github.event_name == 'merge_group' ||
184+
(
185+
contains('
186+
refs/heads/master
187+
refs/heads/develop
188+
refs/heads/next
189+
', github.event.pull_request.head.ref) &&
190+
github.event_name == 'push'
191+
)
192+
)
193+
name: Stacks Core Build Tests
194+
needs:
195+
- rustfmt
196+
- check-release
197+
uses: ./.github/workflows/core-build-tests.yml
198+
167199
bitcoin-tests:
168200
if: |
169201
needs.check-release.outputs.is_release == 'true' || (

.github/workflows/clippy.yml

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
## Perform Clippy checks - currently set to defaults
2+
## https://github.com/rust-lang/rust-clippy#usage
3+
## https://rust-lang.github.io/rust-clippy/master/index.html
4+
##
5+
name: Clippy Checks
6+
7+
# Only run when:
8+
# - PRs are (re)opened against develop branch
9+
on:
10+
pull_request:
11+
branches:
12+
- develop
13+
types:
14+
- opened
15+
- reopened
16+
- synchronize
17+
18+
jobs:
19+
clippy_check:
20+
name: Clippy Check
21+
runs-on: ubuntu-latest
22+
steps:
23+
- name: Checkout the latest code
24+
id: git_checkout
25+
uses: actions/checkout@v3
26+
- name: Define Rust Toolchain
27+
id: define_rust_toolchain
28+
run: echo "RUST_TOOLCHAIN=$(cat ./rust-toolchain)" >> $GITHUB_ENV
29+
- name: Setup Rust Toolchain
30+
id: setup_rust_toolchain
31+
uses: actions-rust-lang/setup-rust-toolchain@v1
32+
with:
33+
toolchain: ${{ env.RUST_TOOLCHAIN }}
34+
components: clippy
35+
- name: Clippy
36+
id: clippy
37+
uses: actions-rs/clippy-check@v1
38+
with:
39+
token: ${{ secrets.GITHUB_TOKEN }}
40+
args: -p libstackerdb -p stacks-signer -p pox-locking -p clarity -p libsigner -p stacks-common --no-deps --tests --all-features -- -D warnings
+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Core build tests
2+
3+
# Only run when:
4+
# - PRs are (re)opened against develop branch
5+
on:
6+
workflow_call:
7+
8+
jobs:
9+
check-consts:
10+
name: Check the constants from stacks-inspect
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout the latest code
14+
id: git_checkout
15+
uses: actions/checkout@v3
16+
- name: Define Rust Toolchain
17+
id: define_rust_toolchain
18+
run: echo "RUST_TOOLCHAIN=$(cat ./rust-toolchain)" >> $GITHUB_ENV
19+
- name: Setup Rust Toolchain
20+
id: setup_rust_toolchain
21+
uses: actions-rust-lang/setup-rust-toolchain@v1
22+
with:
23+
toolchain: ${{ env.RUST_TOOLCHAIN }}
24+
- name: Build the binaries
25+
id: build
26+
run: |
27+
cargo build
28+
- name: Dump constants JSON
29+
id: consts-dump
30+
run: cargo run --bin stacks-inspect -- dump-consts | tee out.json
31+
- name: Set expected constants JSON
32+
id: expects-json
33+
run: diff out.json ./sample/expected_consts.json

.github/workflows/p2p-tests.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,10 @@ jobs:
4343
- net::tests::convergence::test_walk_star_15_org_biased
4444
- net::tests::convergence::test_walk_inbound_line_15
4545
- net::api::tests::postblock_proposal::test_try_make_response
46-
- net::server::tests::test_http_10_threads_getinfo
47-
- net::server::tests::test_http_10_threads_getblock
48-
- net::server::tests::test_http_too_many_clients
49-
- net::server::tests::test_http_slow_client
46+
- net::server::test::test_http_10_threads_getinfo
47+
- net::server::test::test_http_10_threads_getblock
48+
- net::server::test::test_http_too_many_clients
49+
- net::server::test::test_http_slow_client
5050
steps:
5151
## Setup test environment
5252
- name: Setup Test Environment

.github/workflows/stacks-core-tests.yml

-50
Original file line numberDiff line numberDiff line change
@@ -18,55 +18,6 @@ concurrency:
1818
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
1919

2020
jobs:
21-
# Full genesis test with code coverage
22-
full-genesis:
23-
name: Full Genesis Test
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 2 concurrent tests from the test matrix
29-
max-parallel: 2
30-
matrix:
31-
test-name:
32-
- neon_integrations::bitcoind_integration_test
33-
steps:
34-
## Setup test environment
35-
- name: Setup Test Environment
36-
id: setup_tests
37-
uses: stacks-network/actions/stacks-core/testenv@main
38-
with:
39-
genesis: true
40-
btc-version: "25.0"
41-
42-
## Run test matrix using restored cache of archive file
43-
## - Test will timeout after env.TEST_TIMEOUT minutes
44-
- name: Run Tests
45-
id: run_tests
46-
timeout-minutes: ${{ fromJSON(env.TEST_TIMEOUT) }}
47-
uses: stacks-network/actions/stacks-core/run-tests@main
48-
with:
49-
test-name: ${{ matrix.test-name }}
50-
threads: 1
51-
archive-file: ~/genesis_archive.tar.zst
52-
53-
## Upload code coverage file
54-
- name: Code Coverage
55-
id: codecov
56-
uses: stacks-network/actions/codecov@main
57-
with:
58-
test-name: large_genesis
59-
filename: ./lcov.info
60-
61-
- name: Status Output
62-
run: |
63-
echo "run_tests: ${{ steps.run_tests.outputs.status }}"
64-
echo "codecov: ${{ steps.codecov.outputs.status }}"
65-
66-
- name: Check Failures
67-
if: steps.run_tests.outputs.status == 'failure' || steps.codecov.outputs.status == 'failure'
68-
run: exit 1
69-
7021
# Unit tests with code coverage
7122
unit-tests:
7223
name: Unit Tests
@@ -186,7 +137,6 @@ jobs:
186137
runs-on: ubuntu-latest
187138
if: always()
188139
needs:
189-
- full-genesis
190140
- open-api-validation
191141
- core-contracts-clarinet-test
192142
steps:

CHANGELOG.md

+12-1
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,23 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to the versioning scheme outlined in the [README.md](README.md).
77

8-
## [Unreleased]
8+
## [3.1.0.0.3]
99

1010
### Added
1111

12+
- Add `tenure_timeout_secs` to the miner for determining when a time-based tenure extend should be attempted.
13+
- Added configuration option `block_proposal_max_age_secs` under `[connection_options]` to prevent processing stale block proposals
14+
1215
### Changed
1316

17+
- The RPC endpoint `/v3/block_proposal` no longer will evaluate block proposals more than `block_proposal_max_age_secs` old
18+
- When a transaction is dropped due to replace-by-fee, the `/drop_mempool_tx` event observer payload now includes `new_txid`, which is the transaction that replaced this dropped transaction. When a transaction is dropped for other reasons, `new_txid` is `null`. [#5381](https://github.com/stacks-network/stacks-core/pull/5381)
19+
- Nodes will assume that all PoX anchor blocks exist by default, and stall initial block download indefinitely to await their arrival (#5502)
20+
21+
### Fixed
22+
23+
- Signers no longer accept messages for blocks from different reward cycles (#5662)
24+
1425
## [3.1.0.0.2]
1526

1627
### Added

0 commit comments

Comments
 (0)