Skip to content

ci: align release and CI triggers with package impact map - #2938

Merged
caio-pizzol merged 5 commits into
mainfrom
caio-pizzol/release-cleanup-impact-map
Apr 24, 2026
Merged

ci: align release and CI triggers with package impact map#2938
caio-pizzol merged 5 commits into
mainfrom
caio-pizzol/release-cleanup-impact-map

Conversation

@caio-pizzol

Copy link
Copy Markdown
Contributor

Release and CI triggers had drifted apart from what each package actually needs. React wrappers were auto-publishing on every core change even though they externalize superdoc in their builds (near-identical tarballs). MCP wasn't publishing on SDK/core changes even though it imports engine code directly. The packages/ai/** path appeared in nine workflows despite being on the way to deprecation.

The new .github/package-impact-map.md is the source of truth. Principle: test broad, release narrow — CI gates compatibility, releases gate artifact changes. Every workflow change here derives from the map.

Shrunk to own paths (peer-dep wrappers; core changes don't alter the tarball):

  • release-react
  • release-template-builder
  • release-esign

Expanded to include SDK/core (MCP depends on SDK via workspace:* and imports engine code; it was previously stuck on apps/mcp/**):

  • release-mcp

Stripped packages/ai/** from 6 workflow path filters and 4 releaserc include lists. npm-side deprecation of @superdoc-dev/ai is a separate operational step.

Unchanged (already aligned with the map — CLI, SDK, VS Code extension all bundle engine behavior and correctly release on core).

Empirical checks that grounded the classification:

  • packages/react/vite.config.ts lists superdoc in rollupOptions.external. Same for template-builder and esign.
  • apps/cli/.releaserc.cjs and packages/sdk/.releaserc.cjs use patch-commit-filter.cjs to include core paths because their published binaries change when core changes.
  • apps/mcp/package.json depends on @superdoc-dev/sdk at workspace:*.

Companion to PR #2937 (unique CI check contexts). That one makes the validation surface enforceable; this one makes the release surface sensible. A follow-up PR will expand CI path filters + add a gate-job pattern + widen the required-check list in the ruleset to all 13 unique contexts.

Test broad, release narrow. CI gates compatibility (a core change should
run dependent CI to catch breakage). Release gates artifact changes (a
package should only publish when its own published artifact actually
changes).

- Shrink release-react, release-template-builder, release-esign and
  their .releaserc.cjs to own-path-only. These wrappers externalize
  superdoc in their Vite builds, so republishing on core changes
  produces near-identical tarballs; consumers pick up core via
  peerDependencies on their own install.

- Expand release-mcp trigger paths and .releaserc.cjs to cover SDK,
  CLI, document-api, and core. MCP depends on SDK via workspace:* and
  imports engine/session code directly. Current trigger only watched
  apps/mcp/**, causing MCP to lag SDK releases.

- Strip packages/ai/** from every workflow and .releaserc.cjs include
  list. @superdoc-dev/ai is being deprecated; npm-side deprecation is
  a separate operational step.

- Add .github/package-impact-map.md as the source of truth for which
  paths should trigger CI and release per surface. Workflow changes
  derive from it.
@caio-pizzol
caio-pizzol enabled auto-merge (squash) April 24, 2026 18:06
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@caio-pizzol
caio-pizzol disabled auto-merge April 24, 2026 18:09

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5e36b547f2

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread .github/workflows/release-mcp.yml
caio-pizzol and others added 4 commits April 24, 2026 15:19
React declares superdoc in dependencies (">=1.0.0") rather than
peerDependencies, unlike template-builder and esign. That means
existing consumers with pinned lockfiles won't pick up a new core
version until react republishes. Shrinking release-react to own paths
would strand them on old core fixes.

Revert release-react to broad core paths and restore the minor-cap
release rules. The impact-map rationale now distinguishes react from
the peer-dep wrappers and calls out the future peer-dep migration as
the prerequisite for going narrow.

No breaking change to consumers; migration to peerDependencies is
tracked as a separate decision.
Add superdoc to peerDependencies while keeping it in dependencies.
Preserves auto-install for every consumer regardless of package
manager (no breaking change) and signals the singleton contract that
template-builder and esign already express via peer-dep.

This is a semantic cleanup, not a release-policy change. release-react
stays broad because existing consumers still pick up core versions
via the dependencies pin. Removing superdoc from dependencies would
unlock release-narrow but is a breaking change tracked separately.

Verified with pnpm install --frozen-lockfile — no lockfile changes.
Review found ci-superdoc uses paths-ignore and did not list
packages/ai/**, so an AI-only PR still triggered the full SuperDoc CI
despite ai being deprecated. Add it to paths-ignore to match the
impact-map claim that ai is removed from all release and CI triggers.
@caio-pizzol
caio-pizzol enabled auto-merge (squash) April 24, 2026 18:33
@caio-pizzol caio-pizzol self-assigned this Apr 24, 2026
@caio-pizzol
caio-pizzol disabled auto-merge April 24, 2026 18:50
@caio-pizzol
caio-pizzol merged commit e7ef89d into main Apr 24, 2026
70 checks passed
@caio-pizzol
caio-pizzol deleted the caio-pizzol/release-cleanup-impact-map branch April 24, 2026 18:51
@superdoc-bot

superdoc-bot Bot commented Apr 24, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in superdoc v1.28.0-next.18

The release is available on GitHub release

@superdoc-bot

superdoc-bot Bot commented Apr 24, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in superdoc-cli v0.8.0-next.18

The release is available on GitHub release

@superdoc-bot

superdoc-bot Bot commented Apr 24, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in superdoc-sdk v1.6.0-next.54

@superdoc-bot

superdoc-bot Bot commented Apr 25, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in @superdoc-dev/mcp v0.3.0-next.1

The release is available on GitHub release

@superdoc-bot

superdoc-bot Bot commented Apr 25, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in superdoc v1.30.0-next.1

The release is available on GitHub release

@superdoc-bot

superdoc-bot Bot commented Apr 25, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in superdoc-sdk v1.8.0-next.1

@superdoc-bot

superdoc-bot Bot commented Apr 26, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in template-builder v1.7.0-next.1

The release is available on GitHub release

@superdoc-bot

superdoc-bot Bot commented Apr 29, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in @superdoc-dev/react v1.2.0-next.49

The release is available on GitHub release

@superdoc-bot

superdoc-bot Bot commented Apr 29, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in vscode-ext v2.3.0-next.51

@superdoc-bot

superdoc-bot Bot commented Apr 30, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in superdoc v1.30.0

The release is available on GitHub release

@superdoc-bot

superdoc-bot Bot commented May 1, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in superdoc-cli v0.8.0

The release is available on GitHub release

@superdoc-bot

superdoc-bot Bot commented May 1, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in superdoc-sdk v1.8.0

@superdoc-bot

superdoc-bot Bot commented May 1, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in @superdoc-dev/mcp v0.3.0

The release is available on GitHub release

@superdoc-bot

superdoc-bot Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in template-builder v1.9.0

The release is available on GitHub release

@superdoc-bot

superdoc-bot Bot commented May 5, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in vscode-ext v2.3.0

@superdoc-bot

superdoc-bot Bot commented May 7, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in @superdoc-dev/react v1.3.0

The release is available on GitHub release

superdoc-bot Bot pushed a commit that referenced this pull request May 16, 2026
### Features

- install superdoc from wrapper packages

### Changes

- Merge branch 'main' into nick/merge-main-stable
- Merge branch 'stable'

### Chores

- merge stable into main (#2997)
- remove accidental breaking change wording from triggering sem rel as breaking

### CI

- align release and CI triggers with package impact map (#2938)
@superdoc-bot

superdoc-bot Bot commented May 16, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in esign v2.7.0

The release is available on GitHub release

@superdoc-bot

superdoc-bot Bot commented May 16, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in esign v2.5.1-next.1

The release is available on GitHub release

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants