chore(sdk): normalize repository.url per npm's publish warning #109
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| # ── TypeScript: lint, typecheck, unit/integration tests, build ────────────── | |
| node: | |
| name: Node (lint · typecheck · test · build) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10.6.0 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - run: pnpm install --frozen-lockfile=false | |
| # Build workspace packages first so app typechecks resolve their d.ts. | |
| - run: pnpm --filter @contextio/config build | |
| - run: pnpm --filter @contextio/shared build | |
| - run: pnpm --filter @contextio/tests build | |
| - name: Lint | |
| run: pnpm lint | |
| - name: Typecheck | |
| run: pnpm typecheck | |
| - name: Test (unit + integration) | |
| run: pnpm test | |
| - name: Build | |
| run: pnpm build | |
| - name: Dependency audit (non-blocking) | |
| run: pnpm audit --audit-level high || true | |
| # ── Rust / Soroban contracts ──────────────────────────────────────────────── | |
| contracts: | |
| name: Soroban (fmt · clippy · test) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: wasm32-unknown-unknown | |
| components: rustfmt, clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Format check | |
| run: cargo fmt --all -- --check | |
| # Lint the contracts for their real target (wasm32). The SDK provides the | |
| # no_std panic handler there; host-target clippy of a no_std cdylib is not | |
| # meaningful for Soroban. | |
| - name: Clippy (wasm32) | |
| run: cargo clippy --target wasm32-unknown-unknown -- -D warnings | |
| - name: Unit tests | |
| run: cargo test --all | |
| - name: Build WASM | |
| run: cargo build --release --target wasm32-unknown-unknown | |
| # ── Playwright E2E (web, runs on demo data) ───────────────────────────────── | |
| e2e: | |
| name: E2E (Playwright) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10.6.0 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - run: pnpm install --frozen-lockfile=false | |
| - run: pnpm --filter @contextio/shared build | |
| - name: Install Playwright browsers | |
| run: pnpm --filter @contextio/web exec playwright install --with-deps chromium | |
| - name: Run E2E | |
| run: pnpm --filter @contextio/web test:e2e |