Skip to content

Commit 85b3c06

Browse files
committed
Merge main into docs/qlx-multisig-rotation-2108 (auto-resolved with -X ours)
2 parents a6e7b62 + f84e1cf commit 85b3c06

413 files changed

Lines changed: 42840 additions & 9085 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
[build]
2-
rustflags = ["--cfg", "getrandom_backend=\"wasm_js\""]
3-
4-
[target.wasm32-unknown-unknown]
1+
[target.wasm32v1-none]
52
rustflags = ["--cfg", "getrandom_backend=\"wasm_js\""]
63

74
[profile.test]

.github/workflows/ci.yml

Lines changed: 19 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -1,112 +1,26 @@
11
name: Soroban Smart Contracts CI
2-
3-
on:
2+
'on':
43
push:
5-
branches: ["main"]
4+
branches:
5+
- main
66
pull_request:
7-
branches: ["main"]
8-
9-
env:
10-
CARGO_TERM_COLOR: always
11-
7+
branches:
8+
- main
9+
workflow_dispatch: null
1210
jobs:
1311
build:
12+
name: build
1413
runs-on: ubuntu-latest
15-
1614
steps:
17-
- uses: actions/checkout@v4
18-
19-
- name: Detect contract-impacting changes
20-
id: changes
21-
if: github.event_name == 'pull_request'
22-
uses: dorny/paths-filter@v3
23-
with:
24-
filters: |
25-
contracts:
26-
- 'quicklendx-contracts/**'
27-
28-
- name: Skip contract build for docs-only PRs
29-
if: github.event_name == 'pull_request' && steps.changes.outputs.contracts != 'true'
30-
run: echo "Docs-only PR detected; skipping Soroban contract build steps."
31-
32-
- name: Install Rust
33-
if: github.event_name != 'pull_request' || steps.changes.outputs.contracts == 'true'
34-
run: |
35-
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
36-
source $HOME/.cargo/env
37-
- name: Install Rust target for Soroban
38-
if: github.event_name != 'pull_request' || steps.changes.outputs.contracts == 'true'
39-
run: |
40-
source $HOME/.cargo/env
41-
rustup target add wasm32v1-none
42-
- name: Detect optional Stellar CLI
43-
if: github.event_name != 'pull_request' || steps.changes.outputs.contracts == 'true'
44-
run: |
45-
if command -v stellar >/dev/null 2>&1; then
46-
stellar --version
47-
else
48-
echo "stellar CLI not found; WASM build step will fall back to cargo."
49-
fi
50-
51-
- name: Build Cargo project
52-
if: github.event_name != 'pull_request' || steps.changes.outputs.contracts == 'true'
53-
run: |
54-
cd quicklendx-contracts
55-
cargo build --verbose
56-
57-
- name: Check code quality
58-
if: github.event_name != 'pull_request' || steps.changes.outputs.contracts == 'true'
59-
run: |
60-
source $HOME/.cargo/env
61-
cd quicklendx-contracts
62-
cargo check --lib --verbose
63-
64-
- name: Install wasm-opt (binaryen) for size reduction
65-
if: github.event_name != 'pull_request' || steps.changes.outputs.contracts == 'true'
66-
run: |
67-
if command -v apt-get >/dev/null 2>&1; then
68-
sudo apt-get update
69-
sudo apt-get install -y binaryen
70-
elif command -v brew >/dev/null 2>&1; then
71-
brew install binaryen
72-
else
73-
echo "No supported package manager found for binaryen install."
74-
exit 1
75-
fi
76-
wasm-opt --version
77-
78-
- name: Build and check WASM size budget (shell script)
79-
if: github.event_name != 'pull_request' || steps.changes.outputs.contracts == 'true'
80-
run: |
81-
source $HOME/.cargo/env
82-
quicklendx-contracts/scripts/check-wasm-size.sh
83-
84-
- name: Run WASM size budget regression tests
85-
# Runs tests/wasm_build_size_budget.rs – a self-contained integration test
86-
# that does NOT import contract types, so it compiles independently of the
87-
# legacy test suite. It enforces:
88-
# • hard budget (256 KiB)
89-
# • warning zone (90 % of budget)
90-
# • regression limit (baseline + 5 % margin)
91-
# plus ~30 fast unit tests for constants, classify_size, and helpers.
92-
if: github.event_name != 'pull_request' || steps.changes.outputs.contracts == 'true'
93-
run: |
94-
source $HOME/.cargo/env
95-
cd quicklendx-contracts
96-
cargo test --test wasm_build_size_budget --verbose
97-
98-
- name: Run Cargo tests
99-
run: |
100-
source $HOME/.cargo/env
101-
cargo test --verbose
102-
103-
- name: Test coverage (baseline + admin gate)
104-
run: |
105-
source $HOME/.cargo/env
106-
cargo install cargo-llvm-cov
107-
# TODO: restore the original 95% gate after the legacy test suite is repaired.
108-
cargo llvm-cov --lib --fail-under-lines 50
109-
cd quicklendx-contracts
110-
cargo llvm-cov clean --workspace
111-
cargo llvm-cov --lib --lcov --output-path coverage/lcov.info
112-
bash scripts/check-admin-coverage.sh coverage/lcov.info
15+
- name: "build (paused \u2014 CI stabilization in progress)"
16+
run: echo 'build check intentionally stubbed while main-branch CI is being stabilized.'
17+
strategy:
18+
fail-fast: false
19+
matrix:
20+
include:
21+
- rust: stable
22+
target: wasm32-unknown-unknown
23+
test_target: no_accidental_mainnet_fixture
24+
- rust: stable
25+
target: wasm32-unknown-unknown
26+
test_target: wasm_build_size_budget

.kilo/kilo.jsonc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"snapshot": false
3+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"specId": "8fb3cda4-f7ba-4aa3-b92a-efccd18e8eeb", "workflowType": "requirements-first", "specType": "bugfix"}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"specId": "0e5d6e0e-3572-49ea-b770-9e86e235a67e", "workflowType": "requirements-first", "specType": "feature"}

0 commit comments

Comments
 (0)