Skip to content

smartclaws refactoring #37

smartclaws refactoring

smartclaws refactoring #37

Workflow file for this run

name: TypeScript CLI
on:
push:
branches: [main]
paths:
- "packages/**"
- "smart-contracts/contracts/**"
pull_request:
branches: [main]
paths:
- "packages/**"
- "smart-contracts/contracts/**"
jobs:
test:
name: Lint, Type Check & Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions/setup-node@v4
with:
node-version: 22
- uses: oven-sh/setup-bun@v2
- name: Install contract deps
working-directory: smart-contracts
run: bun install
- name: Compile contracts
working-directory: smart-contracts
run: bunx hardhat compile
- name: Export ABIs
working-directory: smart-contracts
run: bash scripts/export-abi.sh
- name: Install workspace deps
run: bun install
# Lint cli + sdk + plugin (dashboard is intentionally excluded). Run from
# packages/cli so biome resolves from its devDependency.
- name: Lint
working-directory: packages/cli
run: bunx biome check src ../sdk/src ../openclaw-plugin/src
- name: Build packages
run: bun run build:packages
- name: Type check core
working-directory: packages/core
run: bunx tsc --noEmit
- name: Type check SDK
working-directory: packages/sdk
run: bun run check
- name: Type check CLI
working-directory: packages/cli
run: bun run check
- name: Type check plugin
working-directory: packages/openclaw-plugin
run: bun run check
- name: SDK tests
run: bun run test:sdk
- name: Plugin tests
working-directory: packages/openclaw-plugin
run: bun test
- name: Verify plugin manifest is current
run: bun run plugin:manifest:check
- name: Validate OpenClaw plugin
run: bun run plugin:validate
- name: CLI unit tests
working-directory: packages/cli
run: bun run test:unit
- name: Start anvil
run: bash scripts/anvil.sh
- name: CLI integration tests
working-directory: packages/cli
run: bun run test:integration