diff --git a/.github/workflows/pr-verify.yml b/.github/workflows/pr-verify.yml index e84e448a..7f48805b 100644 --- a/.github/workflows/pr-verify.yml +++ b/.github/workflows/pr-verify.yml @@ -26,7 +26,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 24 cache: pnpm - name: Install dependencies @@ -40,3 +40,9 @@ jobs: - name: Build run: pnpm build + + - name: Release canary dry run + run: | + git checkout -B master HEAD + git checkout -- pnpm-lock.yaml + ./scripts/release.sh canary --skip-verify --dry-run diff --git a/scripts/build-npm.sh b/scripts/build-npm.sh index 5807bb49..00b8acc2 100755 --- a/scripts/build-npm.sh +++ b/scripts/build-npm.sh @@ -15,9 +15,11 @@ CLI_DIR="$REPO_ROOT/cli" DIST_DIR="$CLI_DIR/dist" skip_checks=false +skip_typecheck=false for arg in "$@"; do case "$arg" in --skip-checks) skip_checks=true ;; + --skip-typecheck) skip_typecheck=true ;; esac done @@ -32,12 +34,16 @@ else fi # ── Step 2: TypeScript type-check ────────────────────────────────────────────── -echo " [2/5] Type-checking..." -cd "$REPO_ROOT" -pnpm -r typecheck +if [ "$skip_typecheck" = false ]; then + echo " [2/6] Type-checking..." + cd "$REPO_ROOT" + pnpm -r typecheck +else + echo " [2/6] Skipping type-check (--skip-typecheck)" +fi # ── Step 3: Bundle CLI with esbuild ──────────────────────────────────────────── -echo " [3/5] Bundling CLI with esbuild..." +echo " [3/6] Bundling CLI with esbuild..." cd "$CLI_DIR" rm -rf dist diff --git a/scripts/release.sh b/scripts/release.sh index 852351bd..ec18c129 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -196,12 +196,7 @@ else fi release_info "" -release_info "==> Step 2/7: Rewriting workspace versions..." -set_public_package_version "$TARGET_PUBLISH_VERSION" -release_info " ✓ Versioned workspace to $TARGET_PUBLISH_VERSION" - -release_info "" -release_info "==> Step 3/7: Building workspace artifacts..." +release_info "==> Step 2/7: Building workspace artifacts..." cd "$REPO_ROOT" pnpm build bash "$REPO_ROOT/scripts/prepare-server-ui-dist.sh" @@ -211,9 +206,14 @@ for pkg_dir in server packages/adapters/claude-local packages/adapters/codex-loc done release_info " ✓ Workspace build complete" +release_info "" +release_info "==> Step 3/7: Rewriting workspace versions..." +set_public_package_version "$TARGET_PUBLISH_VERSION" +release_info " ✓ Versioned workspace to $TARGET_PUBLISH_VERSION" + release_info "" release_info "==> Step 4/7: Building publishable CLI bundle..." -"$REPO_ROOT/scripts/build-npm.sh" --skip-checks +"$REPO_ROOT/scripts/build-npm.sh" --skip-checks --skip-typecheck release_info " ✓ CLI bundle ready" VERSIONED_PACKAGE_INFO="$(list_public_package_info)"