Skip to content

Commit d1fa722

Browse files
committed
Multi-repo SDK management
1 parent c684ea2 commit d1fa722

352 files changed

Lines changed: 636 additions & 199645 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/workflows/ci.yml

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# Unified CI workflow for SDK generator and all SDKs
2+
name: CI
3+
4+
on:
5+
push:
6+
branches: [main]
7+
pull_request:
8+
branches: [main]
9+
workflow_dispatch:
10+
11+
env:
12+
CARGO_TERM_COLOR: always
13+
14+
jobs:
15+
# ============================================
16+
# Test the Rust SDK Generator
17+
# ============================================
18+
generator:
19+
name: Generator Tests
20+
runs-on: ubuntu-latest
21+
steps:
22+
- uses: actions/checkout@v4
23+
24+
- name: Setup Rust
25+
uses: dtolnay/rust-toolchain@stable
26+
with:
27+
components: rustfmt, clippy
28+
29+
- name: Cache Rust dependencies
30+
uses: Swatinem/rust-cache@v2
31+
32+
- name: Check formatting
33+
run: cargo fmt --all -- --check
34+
35+
- name: Run Clippy
36+
run: cargo clippy --all --all-targets --all-features -- -D warnings
37+
38+
- name: Run tests
39+
run: cargo test --verbose
40+
41+
# ============================================
42+
# Generate and Test Python SDK
43+
# ============================================
44+
python-sdk:
45+
name: Python SDK
46+
needs: generator
47+
runs-on: ubuntu-latest
48+
steps:
49+
- uses: actions/checkout@v4
50+
51+
- name: Setup Rust
52+
uses: dtolnay/rust-toolchain@stable
53+
54+
- name: Cache Rust dependencies
55+
uses: Swatinem/rust-cache@v2
56+
57+
- name: Install uv
58+
uses: astral-sh/setup-uv@v3
59+
60+
- name: Generate Python SDK
61+
run: cargo run -- python --latest true
62+
63+
- name: Install dependencies
64+
run: cd xdk/python && uv sync
65+
66+
- name: Run tests
67+
run: cd xdk/python && uv run pytest tests/ -v
68+
69+
# ============================================
70+
# Generate and Test TypeScript SDK
71+
# ============================================
72+
typescript-sdk:
73+
name: TypeScript SDK
74+
needs: generator
75+
runs-on: ubuntu-latest
76+
steps:
77+
- uses: actions/checkout@v4
78+
79+
- name: Setup Rust
80+
uses: dtolnay/rust-toolchain@stable
81+
82+
- name: Cache Rust dependencies
83+
uses: Swatinem/rust-cache@v2
84+
85+
- name: Setup Node.js
86+
uses: actions/setup-node@v4
87+
with:
88+
node-version: '20'
89+
cache: 'npm'
90+
cache-dependency-path: xdk/typescript/package-lock.json
91+
92+
- name: Generate TypeScript SDK
93+
run: cargo run -- typescript --latest true
94+
95+
- name: Install dependencies
96+
run: cd xdk/typescript && npm ci
97+
98+
- name: Build
99+
run: cd xdk/typescript && npm run build
100+
101+
- name: Type check
102+
run: cd xdk/typescript && npm run type-check
103+
104+
- name: Run tests
105+
run: cd xdk/typescript && npm test
106+

.github/workflows/python-publish.yml

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

.github/workflows/python.yml

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

0 commit comments

Comments
 (0)