Skip to content

Commit aaed1cc

Browse files
authored
Merge pull request #6379 from stacks-network/release/3.2.0.0.1
Merge release/3.2.0.0.1 to master
2 parents 9d53951 + 4a7dfc2 commit aaed1cc

File tree

98 files changed

+3677
-3317
lines changed

Some content is hidden

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

98 files changed

+3677
-3317
lines changed

.cargo/config.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[alias]
22
stacks-node = "run --package stacks-node --"
33
fmt-stacks = "fmt -- --config group_imports=StdExternalCrate,imports_granularity=Module"
4-
clippy-stacks = "clippy -p stx-genesis -p libstackerdb -p stacks-signer -p pox-locking -p clarity -p libsigner -p stacks-common --no-deps --tests --all-features -- -D warnings"
4+
clippy-stacks = "clippy -p stx-genesis -p libstackerdb -p stacks-signer -p pox-locking -p clarity-serialization -p clarity -p libsigner -p stacks-common --no-deps --tests --all-features -- -D warnings"
55
clippy-stackslib = "clippy -p stackslib --no-deps -- -Aclippy::all -Wclippy::indexing_slicing"
66

77
# Uncomment to improve performance slightly, at the cost of portability
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
name: Cargo Hack Check
2+
3+
on:
4+
workflow_call:
5+
6+
env:
7+
RUST_BACKTRACE: full
8+
9+
concurrency:
10+
group: cargo-hack-check-${{ github.head_ref || github.ref || github.run_id }}
11+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
12+
13+
jobs:
14+
# Setup job to prepare common dependencies
15+
setup:
16+
name: Setup
17+
runs-on: ubuntu-latest
18+
outputs:
19+
rust-toolchain: ${{ steps.toolchain.outputs.rust-toolchain }}
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
23+
with:
24+
persist-credentials: false
25+
26+
- name: Get Rust toolchain
27+
id: toolchain
28+
run: echo "rust-toolchain=$(cat ./rust-toolchain)" >> $GITHUB_OUTPUT
29+
30+
# Native targets (Windows/Linux)
31+
native-targets:
32+
name: All Crates (Windows/Linux)
33+
runs-on: ubuntu-latest
34+
needs: setup
35+
steps:
36+
- name: Checkout
37+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
38+
with:
39+
persist-credentials: false
40+
41+
- name: Setup Rust with Cache
42+
uses: actions-rust-lang/setup-rust-toolchain@11df97af8e8102fd60b60a77dfbf58d40cd843b8 # v1.10.1
43+
with:
44+
toolchain: ${{ needs.setup.outputs.rust-toolchain }}
45+
target: x86_64-pc-windows-gnu,x86_64-unknown-linux-gnu
46+
cache: true
47+
cache-key: cargo-hack-native-${{ needs.setup.outputs.rust-toolchain }}-${{ hashFiles('**/Cargo.lock') }}
48+
49+
- name: Install cargo-hack
50+
uses: taiki-e/install-action@2383334cf567d78771fc7d89b6b3802ef1412cf6 # v2.56.8
51+
with:
52+
tool: cargo-hack
53+
54+
- name: Install Windows cross-compilation tools
55+
run: |
56+
sudo apt-get update
57+
sudo apt-get install -y gcc-mingw-w64-x86-64
58+
59+
- name: Run cargo hack check
60+
run: |
61+
cargo hack check \
62+
--all \
63+
--each-feature \
64+
--no-dev-deps \
65+
--exclude-features=wasm-deterministic,wasm-web \
66+
--target x86_64-pc-windows-gnu \
67+
--target x86_64-unknown-linux-gnu
68+
69+
# WASM targets - separate cache since dependencies differ
70+
wasm-targets:
71+
name: ${{ matrix.name }}
72+
runs-on: ubuntu-latest
73+
needs: setup
74+
strategy:
75+
fail-fast: false
76+
matrix:
77+
include:
78+
- name: "Clarity & Stacks-Common WASM Web"
79+
command: |
80+
cargo hack check \
81+
-p clarity-serialization \
82+
-p stacks-common \
83+
--each-feature \
84+
--no-dev-deps \
85+
--exclude-features=default,rusqlite,ctrlc-handler,wasm-deterministic \
86+
--features=wasm-web
87+
88+
- name: "Clarity & Stacks-Common WASM Deterministic"
89+
command: |
90+
cargo hack check \
91+
-p clarity-serialization \
92+
-p stacks-common \
93+
--each-feature \
94+
--no-dev-deps \
95+
--include-features=wasm-deterministic,slog_json \
96+
--features=wasm-deterministic
97+
98+
steps:
99+
- name: Checkout
100+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
101+
with:
102+
persist-credentials: false
103+
104+
- name: Setup Rust with Cache
105+
uses: actions-rust-lang/setup-rust-toolchain@11df97af8e8102fd60b60a77dfbf58d40cd843b8 # v1.10.1
106+
with:
107+
toolchain: ${{ needs.setup.outputs.rust-toolchain }}
108+
target: wasm32-unknown-unknown
109+
cache: true
110+
cache-key: cargo-hack-wasm-${{ matrix.name }}-${{ needs.setup.outputs.rust-toolchain }}-${{ hashFiles('**/Cargo.lock') }}
111+
112+
- name: Install cargo-hack
113+
uses: taiki-e/install-action@2383334cf567d78771fc7d89b6b3802ef1412cf6 # v2.56.8
114+
with:
115+
tool: cargo-hack
116+
117+
- name: Run cargo hack check
118+
run: ${{ matrix.command }}

.github/workflows/ci.yml

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ jobs:
9393
needs:
9494
- rustfmt
9595
- check-release
96-
secrets: inherit
96+
secrets: inherit
9797
uses: ./.github/workflows/github-release.yml
9898
with:
9999
node_tag: ${{ needs.check-release.outputs.node_tag }}
@@ -145,6 +145,27 @@ jobs:
145145
- check-release
146146
uses: ./.github/workflows/stacks-core-tests.yml
147147

148+
## Validate constants dumped by stacks-inspect
149+
##
150+
## Runs when:
151+
## - it is a node or signer-only release run
152+
## or any of:
153+
## - this workflow is called manually
154+
## - PR is opened
155+
## - PR added to merge queue
156+
constants-check:
157+
if: |
158+
needs.check-release.outputs.is_node_release == 'true' ||
159+
needs.check-release.outputs.is_signer_release == 'true' ||
160+
github.event_name == 'workflow_dispatch' ||
161+
github.event_name == 'pull_request' ||
162+
github.event_name == 'merge_group'
163+
name: Constants Check
164+
needs:
165+
- rustfmt
166+
- check-release
167+
uses: ./.github/workflows/constants-check.yml
168+
148169
## Checks to run on built binaries
149170
##
150171
## Runs when:
@@ -153,18 +174,18 @@ jobs:
153174
## - this workflow is called manually
154175
## - PR is opened
155176
## - PR added to merge queue
156-
stacks-core-build-tests:
177+
cargo-hack-check:
157178
if: |
158179
needs.check-release.outputs.is_node_release == 'true' ||
159180
needs.check-release.outputs.is_signer_release == 'true' ||
160181
github.event_name == 'workflow_dispatch' ||
161182
github.event_name == 'pull_request' ||
162183
github.event_name == 'merge_group'
163-
name: Stacks Core Build Tests
184+
name: Cargo Hack Check
164185
needs:
165186
- rustfmt
166187
- check-release
167-
uses: ./.github/workflows/core-build-tests.yml
188+
uses: ./.github/workflows/cargo-hack-check.yml
168189

169190
## Checks to run on built binaries
170191
##

.github/workflows/core-build-tests.yml renamed to .github/workflows/constants-check.yml

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
name: Core build tests
1+
name: Constants Check
22

33
# Only run when:
44
# - PRs are (re)opened against develop branch
55
on:
66
workflow_call:
7-
7+
88
jobs:
99
check-consts:
1010
name: Check the constants from stacks-inspect
@@ -26,27 +26,6 @@ jobs:
2626
with:
2727
toolchain: ${{ env.RUST_TOOLCHAIN }}
2828

29-
## run cargo check steps
30-
- name: Cargo Check
31-
id: cargo_check
32-
run: |
33-
cargo check
34-
35-
- name: Cargo Check (monitoring_prom)
36-
id: cargo_check_prom
37-
run: |
38-
cargo check --features monitoring_prom
39-
40-
- name: Cargo Check (clarity)
41-
id: cargo_check_clarity
42-
run: |
43-
cargo check -p clarity --no-default-features
44-
45-
- name: Cargo Check (stacks-common)
46-
id: cargo_check_stacks-common
47-
run: |
48-
cargo check -p stacks-common --no-default-features
49-
5029
- name: Dump constants JSON
5130
id: consts-dump
5231
run: |

.github/workflows/github-release.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ jobs:
9090
cpu: armv7
9191
- arch: macos # excludes macos-armv7
9292
cpu: armv7
93+
- arch: macos # excludes macos-x64
94+
cpu: x86-64
9395
steps:
9496
- name: Build Binary (${{ matrix.arch }}_${{ matrix.cpu }})
9597
uses: stacks-network/actions/stacks-core/release/create-source-binary@main

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,15 @@ jobs:
7171
validate: "true"
7272
redocly-version: "1.34"
7373

74+
## Generate and upload node configuration documentation
75+
node-config-docsgen:
76+
name: Node Configuration Documentation
77+
runs-on: ubuntu-latest
78+
steps:
79+
- name: Generate Node Configuration Documentation
80+
id: node_config_docsgen
81+
uses: stacks-network/actions/stacks-core/node-config-docsgen@main
82+
7483
## Disabled
7584
## - this test can take several hours to run
7685
nettest:
@@ -141,6 +150,7 @@ jobs:
141150
if: always()
142151
needs:
143152
- open-api-validation
153+
- node-config-docsgen
144154
- core-contracts-clarinet-test
145155
steps:
146156
- name: Check Tests Status

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,15 @@ 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+
## [3.2.0.0.1]
9+
### Added
10+
11+
- Adds node-config-docsgen to automatically create config documentation (#6227)
12+
13+
### Fixed
14+
15+
- Fixed a typo in the metrics_identifier route from `/v2/stackedb/:principal/:contract_name/replicas` to `/v2/stackerdb/:principal/:contract_name/replicas`. Note: This may be a breaking change for systems relying on the incorrect route. Please update any metrics tools accordingly.
16+
817
## [3.2.0.0.0]
918

1019
### Added

Cargo.lock

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

Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ members = [
44
"stackslib",
55
"stacks-common",
66
"pox-locking",
7+
"clarity-serialization",
78
"clarity",
89
"stx-genesis",
910
"libstackerdb",
@@ -12,8 +13,6 @@ members = [
1213
"stacks-node",
1314
"contrib/tools/config-docs-generator"]
1415

15-
exclude = ["contrib/clarity-serialization"]
16-
1716
# Dependencies we want to keep the same between workspace members
1817
[workspace.dependencies]
1918
ed25519-dalek = { version = "2.1.1", default-features = false }

contrib/clarity-serialization/Cargo.toml renamed to clarity-serialization/Cargo.toml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,17 @@ keywords = [ "stacks", "stx", "bitcoin", "crypto", "blockstack", "decentralized"
1010
readme = "README.md"
1111

1212
[dependencies]
13-
lazy_static = "1.4.0"
13+
lazy_static = { workspace = true }
1414
regex = { version = "1", default-features = false }
15-
serde = { version = "1", features = ["derive"] }
16-
serde_derive = { version = "1" }
17-
slog = { version = "2.5.2", features = [ "max_level_trace" ] }
18-
stacks_common = { package = "stacks-common", path = "../../stacks-common", default-features = false }
19-
thiserror = { version = "1.0.65" }
15+
serde = { workspace = true }
16+
serde_derive = { workspace = true }
17+
slog = { workspace = true }
18+
stacks_common = { package = "stacks-common", path = "../stacks-common", default-features = false }
19+
thiserror = { workspace = true }
2020

2121
[dev-dependencies]
2222
mutants = "0.0.3"
23-
test-case = { version = "3.3.1", default-features = false }
23+
rstest = "0.17.0"
2424

2525
[features]
2626
default = []

0 commit comments

Comments
 (0)