diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml new file mode 100644 index 0000000..422f097 --- /dev/null +++ b/.github/workflows/check.yml @@ -0,0 +1,57 @@ +# ClawX CI Workflow +# Runs on pull requests (main/develop) +name: Check and Build + +on: + pull_request: + branches: + - main + +jobs: + check: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v6 + + - name: Setup pnpm + uses: pnpm/action-setup@v4 + + - name: Setup Node.js + uses: actions/setup-node@v6 + with: + node-version: '24' + cache: 'pnpm' + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Run linter + run: pnpm run lint + + - name: Run typecheck + run: pnpm run typecheck + + - name: Run tests + run: pnpm run test + + build: + runs-on: windows-latest + steps: + - name: Checkout code + uses: actions/checkout@v6 + + - name: Setup pnpm + uses: pnpm/action-setup@v4 + + - name: Setup Node.js + uses: actions/setup-node@v6 + with: + node-version: '24' + cache: 'pnpm' + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Build + run: pnpm run build:vite diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index f7d938a..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,114 +0,0 @@ -# ClawX CI Workflow -# Runs on pull requests and pushes to main - -name: CI - -on: - push: - branches: - - main - - develop - pull_request: - branches: - - main - - develop - -jobs: - lint: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '20' - - - name: Setup pnpm - uses: pnpm/action-setup@v4 - - - name: Install dependencies - run: pnpm install --frozen-lockfile - - - name: Run linter - run: pnpm run lint - - typecheck: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '20' - - - name: Setup pnpm - uses: pnpm/action-setup@v4 - - - name: Install dependencies - run: pnpm install --frozen-lockfile - - - name: Run typecheck - run: pnpm run typecheck - - test: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '20' - - - name: Setup pnpm - uses: pnpm/action-setup@v4 - - - name: Install dependencies - run: pnpm install --frozen-lockfile - - - name: Run tests - run: pnpm run test - - build: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '20' - - - name: Setup pnpm - uses: pnpm/action-setup@v4 - - - name: Get pnpm store directory - shell: bash - run: | - echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV - - - name: Setup pnpm cache - uses: actions/cache@v4 - with: - path: ${{ env.STORE_PATH }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- - - - name: Install dependencies - run: pnpm install --frozen-lockfile - - - name: Build - run: pnpm run build:vite - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/package.json b/package.json index dd4efe5..e37b198 100644 --- a/package.json +++ b/package.json @@ -19,16 +19,12 @@ "scripts": { "init": "pnpm install && pnpm run uv:download", "dev": "vite", - "bundle:openclaw": "zx scripts/bundle-openclaw.mjs", "build": "vite build && zx scripts/bundle-openclaw.mjs && electron-builder", - "build:vite": "vite build && zx scripts/bundle-openclaw.mjs", - "build:arm": "vite build && zx scripts/bundle-openclaw.mjs && electron-builder --mac --arm64", - "preview": "vite preview", + "build:vite": "vite build", "lint": "eslint . --fix", "typecheck": "tsc --noEmit", "test": "vitest run", "test:e2e": "playwright test", - "clean": "node -e \"['dist','dist-electron','release'].forEach(d=>require('fs').rmSync(d,{recursive:true,force:true}))\"", "uv:download": "zx scripts/download-bundled-uv.mjs", "uv:download:mac": "zx scripts/download-bundled-uv.mjs --platform=mac", "uv:download:win": "zx scripts/download-bundled-uv.mjs --platform=win", @@ -109,4 +105,4 @@ "zx": "^8.8.5" }, "packageManager": "pnpm@10.29.1+sha512.48dae233635a645768a3028d19545cacc1688639eeb1f3734e42d6d6b971afbf22aa1ac9af52a173d9c3a20c15857cfa400f19994d79a2f626fcc73fccda9bbc" -} +} \ No newline at end of file