Skip to content

Commit b49d0db

Browse files
authored
Merge pull request #6357 from csgui/update-wasm-develop
update clarity-wasm-develop branch
2 parents c7562c4 + 690ef44 commit b49d0db

File tree

677 files changed

+67970
-27049
lines changed

Some content is hidden

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

677 files changed

+67970
-27049
lines changed

.cargo/config.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
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 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"
5+
clippy-stackslib = "clippy -p stackslib --no-deps -- -Aclippy::all -Wclippy::indexing_slicing"
56

67
# Uncomment to improve performance slightly, at the cost of portability
78
# * Note that native binaries may not run on CPUs that are different from the build machine

.github/actions/bitcoin-int-tests/Dockerfile.atlas-test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ RUN cd / && tar -xvzf bitcoin-25.0-x86_64-linux-gnu.tar.gz
1414
RUN ln -s /bitcoin-25.0/bin/bitcoind /bin/
1515

1616
ENV BITCOIND_TEST 1
17-
WORKDIR /src/testnet/stacks-node
17+
WORKDIR /src/stacks-node
1818
RUN cargo test -- --test-threads 1 --ignored tests::neon_integrations::atlas_integration_test
1919
RUN cargo test -- --test-threads 1 --ignored tests::neon_integrations::atlas_stress_integration_test

.github/actions/bitcoin-int-tests/Dockerfile.generic.bitcoin-tests

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ WORKDIR /src/
44

55
COPY . .
66

7-
WORKDIR /src/testnet/stacks-node
7+
WORKDIR /src/stacks-node
88

99
RUN rustup component add llvm-tools-preview && \
1010
cargo install grcov

.github/actions/bitcoin-int-tests/Dockerfile.large-genesis

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ RUN cargo test --no-run --workspace && \
2222
cargo build --workspace
2323

2424
ENV BITCOIND_TEST 1
25-
RUN cd testnet/stacks-node && cargo test --release --features prod-genesis-chainstate -- --test-threads 1 --ignored neon_integrations::bitcoind_integration_test
25+
RUN cd stacks-node && cargo test --release --features prod-genesis-chainstate -- --test-threads 1 --ignored neon_integrations::bitcoind_integration_test
2626

2727
RUN grcov . --binary-path ./target/debug/ -s . -t lcov --branch --ignore-not-existing --ignore "/*" -o lcov.info
2828

.github/actions/dockerfiles/Dockerfile.alpine-binary

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ RUN case "${TAG}" in \
3131
;; \
3232
*) \
3333
echo "/bin/stacks-node mainnet" > /tmp/command.sh && \
34-
rm /bin/blockstack-cli /bin/clarity-cli /bin/relay-server /bin/stacks-events /bin/stacks-inspect \
34+
rm /bin/blockstack-cli /bin/clarity-cli /bin/stacks-events /bin/stacks-inspect \
3535
;; \
3636
esac && \
3737
chmod +x /tmp/command.sh

.github/actions/dockerfiles/Dockerfile.debian-binary

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ RUN case "${TAG}" in \
3131
;; \
3232
*) \
3333
echo "/bin/stacks-node mainnet" > /tmp/command.sh && \
34-
rm /bin/blockstack-cli /bin/clarity-cli /bin/relay-server /bin/stacks-events /bin/stacks-inspect \
34+
rm /bin/blockstack-cli /bin/clarity-cli /bin/stacks-events /bin/stacks-inspect \
3535
;; \
3636
esac && \
3737
chmod +x /tmp/command.sh
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
@@ -19,7 +19,6 @@ on:
1919
- opened
2020
- reopened
2121
- synchronize
22-
- ready_for_review
2322

2423
defaults:
2524
run:
@@ -94,6 +93,7 @@ jobs:
9493
needs:
9594
- rustfmt
9695
- check-release
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/clarity-js-sdk-pr.yml

Lines changed: 0 additions & 65 deletions
This file was deleted.
Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Core build tests
1+
name: Constants Check
22

33
# Only run when:
44
# - PRs are (re)opened against develop branch
@@ -9,6 +9,10 @@ jobs:
99
check-consts:
1010
name: Check the constants from stacks-inspect
1111
runs-on: ubuntu-latest
12+
defaults:
13+
run:
14+
shell: bash
15+
1216
steps:
1317
- name: Checkout the latest code
1418
id: git_checkout
@@ -21,13 +25,14 @@ jobs:
2125
uses: actions-rust-lang/setup-rust-toolchain@11df97af8e8102fd60b60a77dfbf58d40cd843b8 # v1.10.1
2226
with:
2327
toolchain: ${{ env.RUST_TOOLCHAIN }}
24-
- name: Build the binaries
25-
id: build
26-
run: |
27-
cargo build
28+
2829
- name: Dump constants JSON
2930
id: consts-dump
30-
run: cargo run --bin stacks-inspect -- dump-consts | tee out.json
31-
- name: Set expected constants JSON
31+
run: |
32+
cargo run --bin stacks-inspect -- dump-consts | tee out.json
33+
34+
## output any diff to the github job summary
35+
- name: Compare expected constants JSON
3236
id: expects-json
33-
run: diff out.json ./sample/expected_consts.json
37+
run: |
38+
diff out.json ./sample/expected_consts.json >> $GITHUB_STEP_SUMMARY

0 commit comments

Comments
 (0)