diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 43b61c45..b22c2d09 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,10 +1,10 @@ -# Replace @dotta if a different maintainer or team should own release infrastructure. +# Replace @cryppadotta if a different maintainer or team should own release infrastructure. -.github/** @dotta @devinfoley -scripts/release*.sh @dotta @devinfoley -scripts/release-*.mjs @dotta @devinfoley -scripts/create-github-release.sh @dotta @devinfoley -scripts/rollback-latest.sh @dotta @devinfoley -doc/RELEASING.md @dotta @devinfoley -doc/PUBLISHING.md @dotta @devinfoley -doc/RELEASE-AUTOMATION-SETUP.md @dotta @devinfoley +.github/** @cryppadotta @devinfoley +scripts/release*.sh @cryppadotta @devinfoley +scripts/release-*.mjs @cryppadotta @devinfoley +scripts/create-github-release.sh @cryppadotta @devinfoley +scripts/rollback-latest.sh @cryppadotta @devinfoley +doc/RELEASING.md @cryppadotta @devinfoley +doc/PUBLISHING.md @cryppadotta @devinfoley +doc/RELEASE-AUTOMATION-SETUP.md @cryppadotta @devinfoley 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/doc/RELEASE-AUTOMATION-SETUP.md b/doc/RELEASE-AUTOMATION-SETUP.md index 7f77003a..b9970def 100644 --- a/doc/RELEASE-AUTOMATION-SETUP.md +++ b/doc/RELEASE-AUTOMATION-SETUP.md @@ -165,7 +165,7 @@ Current file: - `.github/CODEOWNERS` -If `@dotta` is not the right reviewer identity in the public repo, change it before enabling enforcement. +If `@cryppadotta` is not the right reviewer identity in the public repo, change it before enabling enforcement. ## 9. Protect Release Infrastructure Specifically 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)"