Skip to content

Commit 68cc633

Browse files
Merge branch 'main' into feat/migrate-contract-events-118
2 parents c87611a + b93162e commit 68cc633

341 files changed

Lines changed: 44960 additions & 11275 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.

.github/dependabot.yml

Lines changed: 0 additions & 63 deletions
This file was deleted.

.github/workflows/a11y-nightly.yml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
name: Nightly Accessibility Scan
2+
3+
# Runs every day at 06:00 UTC (≈1:00 AM EST). Also runs on manual trigger.
4+
on:
5+
schedule:
6+
- cron: "0 6 * * *"
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
a11y-scan:
14+
name: Axe DevTools AA scan (live pages)
15+
runs-on: ubuntu-latest
16+
timeout-minutes: 25
17+
steps:
18+
- name: Checkout code
19+
uses: actions/checkout@v4
20+
21+
- name: Setup Node.js
22+
uses: actions/setup-node@v4
23+
with:
24+
node-version: "20"
25+
cache: npm
26+
cache-dependency-path: frontend/package-lock.json
27+
28+
- name: Install frontend dependencies
29+
working-directory: frontend
30+
run: npm ci
31+
32+
- name: Install Playwright Chromium
33+
working-directory: frontend
34+
run: npx playwright install --with-deps chromium
35+
36+
- name: Build Next.js production bundle
37+
working-directory: frontend
38+
run: npm run build
39+
env:
40+
NEXT_PUBLIC_STELLAR_NETWORK: testnet
41+
NEXT_PUBLIC_HORIZON_URL: https://horizon-testnet.stellar.org
42+
NEXT_PUBLIC_API_URL: http://localhost:4000
43+
44+
- name: Start Next.js server in background
45+
working-directory: frontend
46+
run: |
47+
nohup npm run start > next-start.log 2>&1 &
48+
# Wait up to 60s for the server to respond.
49+
timeout 60 bash -c 'until curl -fs http://localhost:3000 > /dev/null; do sleep 2; done'
50+
echo "Next.js server is up."
51+
52+
- name: Run axe-core scan
53+
working-directory: frontend
54+
run: npm run a11y:scan
55+
56+
- name: Upload a11y report
57+
if: always()
58+
uses: actions/upload-artifact@v4
59+
with:
60+
name: a11y-report
61+
path: frontend/a11y-report.json
62+
if-no-files-found: warn
63+
64+
- name: Upload server log
65+
if: failure()
66+
uses: actions/upload-artifact@v4
67+
with:
68+
name: next-start.log
69+
path: frontend/next-start.log
70+
if-no-files-found: ignore

.github/workflows/backend.yml

Lines changed: 0 additions & 26 deletions
This file was deleted.

.github/workflows/ci.yml

Lines changed: 0 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,8 @@ on:
44
push:
55
branches: [main, develop]
66
pull_request:
7-
branches: [main]
87

98
jobs:
10-
frontend:
11-
name: Frontend (Next.js)
12-
runs-on: ubuntu-latest
13-
defaults:
14-
run:
15-
working-directory: frontend
16-
steps:
17-
- uses: actions/checkout@v4
18-
- uses: actions/setup-node@v4
19-
with:
20-
node-version: "20"
21-
cache: "npm"
22-
cache-dependency-path: frontend/package-lock.json
23-
- run: npm ci
24-
- run: npm run type-check
25-
- run: npm run lint
26-
- run: npm run build
27-
env:
28-
NEXT_PUBLIC_STELLAR_NETWORK: testnet
29-
NEXT_PUBLIC_HORIZON_URL: https://horizon-testnet.stellar.org
30-
NEXT_PUBLIC_API_URL: http://localhost:4000
31-
329
backend:
3310
name: Backend (Node.js)
3411
runs-on: ubuntu-latest
@@ -47,24 +24,6 @@ jobs:
4724
- run: docker compose -f docker-compose.test.yml up --abort-on-container-exit --exit-code-from backend --build
4825
working-directory: .
4926

50-
contracts:
51-
name: Soroban Contracts (Rust)
52-
runs-on: ubuntu-latest
53-
defaults:
54-
run:
55-
working-directory: contracts
56-
steps:
57-
- uses: actions/checkout@v4
58-
- uses: dtolnay/rust-toolchain@stable
59-
with:
60-
targets: wasm32v1-none
61-
- uses: Swatinem/rust-cache@v2
62-
with:
63-
workspaces: contracts
64-
- run: cargo check --workspace
65-
- run: cargo test --workspace
66-
- run: cargo build --workspace --target wasm32v1-none --release
67-
6827
helm:
6928
name: Helm Chart Validation
7029
runs-on: ubuntu-latest

.github/workflows/contracts.yml

Lines changed: 7 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,8 @@ on:
55
branches: [main, develop]
66
paths: [contracts/**]
77
pull_request:
8-
branches: [main]
98
paths: [contracts/**]
109
workflow_dispatch:
11-
schedule:
12-
# Nightly deep fuzz run — 1 000 000 iterations every day at 03:00 UTC
13-
- cron: "0 3 * * *"
1410

1511
jobs:
1612
test:
@@ -40,15 +36,16 @@ jobs:
4036
- name: Run Clippy
4137
run: cargo clippy --workspace -- -D warnings
4238

43-
- name: Run tests (skip duplicate fuzz run handled by dedicated fuzz job)
44-
run: cargo test --workspace -- --skip fuzz::
39+
- name: Run tests (skip duplicate fuzz run -- handled by dedicated fuzz job)
40+
run: "cargo test --features testutils --workspace -- --skip fuzz::"
4541

4642
- name: Build WASM
4743
run: cargo build --workspace --target wasm32v1-none --release
4844

4945
fuzz:
50-
name: Fuzz Tests (100k iterations)
46+
name: Fuzz Tests (10k iterations)
5147
runs-on: ubuntu-latest
48+
timeout-minutes: 20
5249
defaults:
5350
run:
5451
working-directory: contracts
@@ -67,37 +64,10 @@ jobs:
6764
with:
6865
workspaces: contracts
6966

70-
- name: Run fuzz tests (100k iterations)
71-
run: FUZZ_ITERATIONS=100000 cargo test --features testutils -- fuzz
67+
- name: Run fuzz tests (1.5k iterations)
68+
run: cargo test --features testutils -- fuzz
7269
env:
73-
FUZZ_ITERATIONS: 100000
74-
75-
deep-fuzz:
76-
name: Deep Fuzz (1M iterations — nightly)
77-
if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'
78-
runs-on: ubuntu-latest
79-
defaults:
80-
run:
81-
working-directory: contracts
82-
steps:
83-
- uses: actions/checkout@v4
84-
85-
- name: Install Rust toolchain
86-
uses: dtolnay/rust-toolchain@stable
87-
with:
88-
toolchain: 1.91.0
89-
targets: wasm32v1-none
90-
components: rustfmt, clippy
91-
92-
- name: Cache Rust dependencies
93-
uses: Swatinem/rust-cache@v2
94-
with:
95-
workspaces: contracts
96-
97-
- name: Run deep fuzz tests (1M iterations)
98-
run: FUZZ_ITERATIONS=1000000 cargo test --features testutils -- fuzz
99-
env:
100-
FUZZ_ITERATIONS: 1000000
70+
FUZZ_ITERATIONS: 1500
10171

10272
coverage:
10373
name: Coverage (tarpaulin)

.github/workflows/extension.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ on:
1010
pull_request:
1111
paths:
1212
- "extension/**"
13-
branches: [main]
1413

1514
jobs:
1615
build:

0 commit comments

Comments
 (0)