chore: remove AI agent handoff artifacts from repo root (#268) #437
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 – Build & Test Soroban Contracts | |
| on: | |
| push: | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| frontend-lint: | |
| name: Frontend – Lint & Format Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v6 | |
| with: | |
| version: 10.33.0 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v5 | |
| with: | |
| node-version: "22" | |
| cache: "pnpm" | |
| cache-dependency-path: frontend/pnpm-lock.yaml | |
| - name: Install dependencies | |
| working-directory: frontend | |
| run: pnpm install --frozen-lockfile | |
| - name: Run ESLint | |
| working-directory: frontend | |
| run: pnpm lint | |
| - name: Format files automatically | |
| working-directory: frontend | |
| run: pnpm format --write | |
| - name: Run Prettier format check | |
| working-directory: frontend | |
| run: pnpm format:check | |
| - name: Build Next.js & Check Performance Budget | |
| working-directory: frontend | |
| run: | | |
| pnpm build | |
| pnpm check-budget | |
| build: | |
| name: Build Soroban Contracts | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| toolchain: "1.85.0" | |
| targets: wasm32-unknown-unknown | |
| - name: Cache cargo | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
| - name: Pin incompatible dependencies | |
| working-directory: smartcontract | |
| run: | | |
| cargo update serde_with@3.18.0 --precise 3.17.0 || true | |
| cargo update serde_with_macros@3.18.0 --precise 3.17.0 || true | |
| cargo update darling@0.23.0 --precise 0.21.3 || true | |
| cargo update darling_core@0.23.0 --precise 0.21.3 || true | |
| cargo update darling_macro@0.23.0 --precise 0.21.3 || true | |
| cargo update indexmap@2.14.0 --precise 2.6.0 || true | |
| - name: Build Factory contract | |
| working-directory: smartcontract | |
| run: cargo build --target wasm32-unknown-unknown --release --manifest-path=contracts/factory/Cargo.toml | |
| - name: Build Rotational contract | |
| working-directory: smartcontract | |
| run: cargo build --target wasm32-unknown-unknown --release --manifest-path=contracts/rotational/Cargo.toml | |
| - name: Build Target contract | |
| working-directory: smartcontract | |
| run: cargo build --target wasm32-unknown-unknown --release --manifest-path=contracts/target/Cargo.toml | |
| - name: Build Flexible contract | |
| working-directory: smartcontract | |
| run: cargo build --target wasm32-unknown-unknown --release --manifest-path=contracts/flexible/Cargo.toml | |
| - name: Build Governance contract | |
| working-directory: smartcontract | |
| run: cargo build --target wasm32-unknown-unknown --release --manifest-path=contracts/governance/Cargo.toml | |
| - name: Verify WASM artifacts | |
| working-directory: smartcontract | |
| run: | | |
| ls -lh target/wasm32-unknown-unknown/release/*.wasm | |
| echo "All contracts built successfully" | |
| - name: Run unit tests | |
| working-directory: smartcontract | |
| run: cargo test | |
| component-tests: | |
| name: Run React Component Tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v6 | |
| with: | |
| version: 10.33.0 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v5 | |
| with: | |
| node-version: "22" | |
| cache: "pnpm" | |
| cache-dependency-path: frontend/pnpm-lock.yaml | |
| - name: Install Frontend Dependencies | |
| working-directory: frontend | |
| run: pnpm install --frozen-lockfile | |
| - name: Run React Component Test Suite with Coverage | |
| working-directory: frontend | |
| run: pnpm test:components:coverage |