Merge pull request #1159 from paperclipai/release-automation-followups

fix: validate canary release path in CI
This commit is contained in:
Dotta
2026-03-17 15:39:50 -05:00
committed by GitHub
5 changed files with 34 additions and 22 deletions

18
.github/CODEOWNERS vendored
View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)"