From 7c6f375ff66f2b1db94edafe83b9a81d61a747bb Mon Sep 17 00:00:00 2001
From: fi3ework <fi3ework@gmail.com>
Date: Thu, 16 May 2024 15:54:56 +0800
Subject: [PATCH] ci: add basic test

---
 .github/workflows/ci.yaml | 48 +++++++++++++++++++++++++++++++++++++++
 package.json              |  2 +-
 2 files changed, 49 insertions(+), 1 deletion(-)
 create mode 100644 .github/workflows/ci.yaml

diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
new file mode 100644
index 0000000..3d54456
--- /dev/null
+++ b/.github/workflows/ci.yaml
@@ -0,0 +1,48 @@
+name: CI
+
+# Controls when the action will run.
+on:
+  # Triggers the workflow on pull request events but only for the main branch
+  pull_request:
+    branches: [main]
+
+  push:
+    branches: [main]
+
+  merge_group:
+
+  # Allows you to run this workflow manually from the Actions tab
+  workflow_dispatch:
+
+# A workflow run is made up of one or more jobs that can run sequentially or in parallel
+jobs:
+  # ======== test ========
+  mac:
+    # run ut in MacOS, as SWC cases will fail in Ubuntu CI
+    runs-on: macos-14
+    strategy:
+      matrix:
+        node-version: [18.x]
+
+    # Steps represent a sequence of tasks that will be executed as part of the job
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v4
+        with:
+          fetch-depth: 10
+
+      - name: Install Pnpm
+        run: corepack enable
+
+      - name: Setup Node.js ${{ matrix.node-version }}
+        uses: actions/setup-node@v4
+        with:
+          node-version: ${{ matrix.node-version }}
+          cache: 'pnpm'
+
+      - name: Install Dependencies
+        run: pnpm install
+
+      - name: Build Test
+        run: |
+          pnpm run test:sandboxes-build
diff --git a/package.json b/package.json
index 13eca58..4070c6d 100644
--- a/package.json
+++ b/package.json
@@ -5,7 +5,7 @@
   "packageManager": "pnpm@8.15.6",
   "scripts": {
     "prepare": "pnpm run build && simple-git-hooks",
-    "build": "pnpm --parallel --filter \"./packages/**\" run prep --optimized",
+    "build": "pnpm --filter \"./packages/**\" run prep --optimized",
     "dev": "pnpm --parallel --filter \"./packages/**\" run prep --watch",
     "check": "pnpm --parallel --filter \"./packages/**\" run check",
     "test:sandboxes-build": "pnpm --parallel --filter \"./sandboxes/**\" run build:storybook"