Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/release-vscode-ext.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Stable releases are orchestrated centrally by release-stable.yml so that
# every stable release shares one concurrency slot and one git push lane.
# Note: VS Code Marketplace doesn't support semver prerelease versions, so
# main pushes only build a .vsix and attach it to the GitHub release.
# main pushes create prerelease tags without publishing a .vsix.
name: 📦 Release vscode-ext

on:
Expand Down
27 changes: 13 additions & 14 deletions apps/cli/.releaserc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,10 @@ const branches = [

const isPrerelease = branches.some((b) => typeof b === 'object' && b.name === branch && b.prerelease);

// stable -> main syncs (real merges) re-attribute prereleases to PRs already shipped on @latest.
// Gate per-PR/issue success comments off on prereleases to avoid duplicate "shipped" comments.
const shouldCommentOnRelease = !isPrerelease;
// Linear release comments are the shipped-version breadcrumb inside Linear
// itself, so keep them on for prereleases even while GitHub PR comments stay
// gated separately.
// GitHub Releases are stable-only; prerelease tags and package publishing still proceed.
const shouldPublishGitHubRelease = Boolean(branch) && !isPrerelease;
// Linear release comments remain the shipped-version breadcrumb, so
Comment thread
caio-pizzol marked this conversation as resolved.
// prereleases link to their Git tags when no GitHub Release exists.
const shouldCommentOnLinearRelease = true;

// Use AI-powered notes for stable releases, conventional generator for prereleases
Expand Down Expand Up @@ -89,13 +87,14 @@ config.plugins.push([
},
]);

config.plugins.push([
'@semantic-release/github',
{
successComment:
':tada: This ${issue.pull_request ? "PR" : "issue"} is included in **superdoc-cli** v${nextRelease.version}\n\nThe release is available on [GitHub release](${releases.find(release => release.pluginName === "@semantic-release/github").url})',
successCommentCondition: shouldCommentOnRelease ? undefined : false,
},
]);
if (shouldPublishGitHubRelease) {
config.plugins.push([
'@semantic-release/github',
{
successComment:
':tada: This ${issue.pull_request ? "PR" : "issue"} is included in **superdoc-cli** v${nextRelease.version}\n\nThe release is available on [GitHub release](${releases.find(release => release.pluginName === "@semantic-release/github").url})',
},
]);
}

module.exports = config;
27 changes: 13 additions & 14 deletions apps/create/.releaserc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,10 @@ const branches = [

const isPrerelease = branches.some((b) => typeof b === 'object' && b.name === branch && b.prerelease);

// stable -> main syncs (real merges) re-attribute prereleases to PRs already shipped on @latest.
// Gate per-PR/issue success comments off on prereleases to avoid duplicate "shipped" comments.
const shouldCommentOnRelease = !isPrerelease;
// Linear release comments are the shipped-version breadcrumb inside Linear
// itself, so keep them on for prereleases even while GitHub PR comments stay
// gated separately.
// GitHub Releases are stable-only; prerelease tags and package publishing still proceed.
const shouldPublishGitHubRelease = Boolean(branch) && !isPrerelease;
// Linear release comments remain the shipped-version breadcrumb, so
// prereleases link to their Git tags when no GitHub Release exists.
const shouldCommentOnLinearRelease = true;

const notesPlugin = isPrerelease ? createReleaseNotesGenerator() : ['semantic-release-ai-notes', { style: 'concise' }];
Expand Down Expand Up @@ -49,13 +47,14 @@ config.plugins.push([
},
]);

config.plugins.push([
'@semantic-release/github',
{
successComment:
':tada: This ${issue.pull_request ? "PR" : "issue"} is included in **@superdoc-dev/create** v${nextRelease.version}\n\nThe release is available on [GitHub release](${releases.find(release => release.pluginName === "@semantic-release/github").url})',
successCommentCondition: shouldCommentOnRelease ? undefined : false,
},
]);
if (shouldPublishGitHubRelease) {
config.plugins.push([
'@semantic-release/github',
{
successComment:
':tada: This ${issue.pull_request ? "PR" : "issue"} is included in **@superdoc-dev/create** v${nextRelease.version}\n\nThe release is available on [GitHub release](${releases.find(release => release.pluginName === "@semantic-release/github").url})',
},
]);
}

module.exports = config;
27 changes: 13 additions & 14 deletions apps/mcp/.releaserc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,10 @@ const branches = [

const isPrerelease = branches.some((b) => typeof b === 'object' && b.name === branch && b.prerelease);

// stable -> main syncs (real merges) re-attribute prereleases to PRs already shipped on @latest.
// Gate per-PR/issue success comments off on prereleases to avoid duplicate "shipped" comments.
const shouldCommentOnRelease = !isPrerelease;
// Linear release comments are the shipped-version breadcrumb inside Linear
// itself, so keep them on for prereleases even while GitHub PR comments stay
// gated separately.
// GitHub Releases are stable-only; prerelease tags and package publishing still proceed.
const shouldPublishGitHubRelease = Boolean(branch) && !isPrerelease;
// Linear release comments remain the shipped-version breadcrumb, so
// prereleases link to their Git tags when no GitHub Release exists.
const shouldCommentOnLinearRelease = true;

// Use AI-powered notes for stable releases, conventional generator for prereleases
Expand Down Expand Up @@ -92,13 +90,14 @@ config.plugins.push([
},
]);

config.plugins.push([
'@semantic-release/github',
{
successComment:
':tada: This ${issue.pull_request ? "PR" : "issue"} is included in **@superdoc-dev/mcp** v${nextRelease.version}\n\nThe release is available on [GitHub release](${releases.find(release => release.pluginName === "@semantic-release/github").url})',
successCommentCondition: shouldCommentOnRelease ? undefined : false,
},
]);
if (shouldPublishGitHubRelease) {
config.plugins.push([
'@semantic-release/github',
{
successComment:
':tada: This ${issue.pull_request ? "PR" : "issue"} is included in **@superdoc-dev/mcp** v${nextRelease.version}\n\nThe release is available on [GitHub release](${releases.find(release => release.pluginName === "@semantic-release/github").url})',
},
]);
}

module.exports = config;
42 changes: 17 additions & 25 deletions apps/vscode-ext/.releaserc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,10 @@ const branches = [

const isPrerelease = branches.some((b) => typeof b === 'object' && b.name === branch && b.prerelease);

// stable -> main syncs (real merges) re-attribute prereleases to PRs already shipped on @latest.
// Gate per-PR/issue success comments off on prereleases to avoid duplicate "shipped" comments.
const shouldCommentOnRelease = !isPrerelease;
// Linear release comments are the shipped-version breadcrumb inside Linear
// itself, so keep them on for prereleases even while GitHub PR comments stay
// gated separately.
// GitHub Releases are stable-only; prerelease tags still proceed on main.
const shouldPublishGitHubRelease = Boolean(branch) && !isPrerelease;
// Linear release comments remain the shipped-version breadcrumb, so
// prereleases link to their Git tags when no GitHub Release exists.
const shouldCommentOnLinearRelease = true;

// Use AI-powered notes for stable releases, conventional generator for prereleases
Expand All @@ -65,16 +63,9 @@ const config = {
],
};

// VS Code Marketplace doesn't support semver prerelease versions (e.g., 0.0.1-next.1)
// Only publish stable releases to marketplace; prereleases get GitHub release with .vsix attached
if (isPrerelease) {
config.plugins.push([
'@semantic-release/exec',
{
prepareCmd: 'pnpm run package', // Creates .vsix file only
},
]);
} else {
// VS Code Marketplace doesn't support semver prerelease versions, so only
// stable releases build and publish a .vsix.
if (!isPrerelease) {
config.plugins.push([
'@semantic-release/exec',
{
Expand Down Expand Up @@ -103,14 +94,15 @@ config.plugins.push([
},
]);

config.plugins.push([
'@semantic-release/github',
{
assets: [{ path: '*.vsix', label: 'VS Code Extension' }],
successComment:
':tada: This ${issue.pull_request ? "PR" : "issue"} is included in **vscode-ext** v${nextRelease.version}',
successCommentCondition: shouldCommentOnRelease ? undefined : false,
},
]);
if (shouldPublishGitHubRelease) {
config.plugins.push([
'@semantic-release/github',
{
assets: [{ path: '*.vsix', label: 'VS Code Extension' }],
successComment:
':tada: This ${issue.pull_request ? "PR" : "issue"} is included in **vscode-ext** v${nextRelease.version}',
},
]);
}

module.exports = config;
27 changes: 13 additions & 14 deletions packages/esign/.releaserc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,10 @@ const branches = [

const isPrerelease = branches.some((b) => typeof b === 'object' && b.name === branch && b.prerelease);

// stable -> main syncs (real merges) re-attribute prereleases to PRs already shipped on @latest.
// Gate per-PR/issue success comments off on prereleases to avoid duplicate "shipped" comments.
const shouldCommentOnRelease = !isPrerelease;
// Linear release comments are the shipped-version breadcrumb inside Linear
// itself, so keep them on for prereleases even while GitHub PR comments stay
// gated separately.
// GitHub Releases are stable-only; prerelease tags and package publishing still proceed.
const shouldPublishGitHubRelease = Boolean(branch) && !isPrerelease;
// Linear release comments remain the shipped-version breadcrumb, so
// prereleases link to their Git tags when no GitHub Release exists.
const shouldCommentOnLinearRelease = true;

// Use AI-powered notes for stable releases, conventional generator for prereleases
Expand Down Expand Up @@ -64,13 +62,14 @@ config.plugins.push([
},
]);

config.plugins.push([
'@semantic-release/github',
{
successComment:
':tada: This ${issue.pull_request ? "PR" : "issue"} is included in **esign** v${nextRelease.version}\n\nThe release is available on [GitHub release](https://github.com/superdoc-dev/superdoc/releases/tag/${nextRelease.gitTag})',
successCommentCondition: shouldCommentOnRelease ? undefined : false,
},
]);
if (shouldPublishGitHubRelease) {
config.plugins.push([
'@semantic-release/github',
{
successComment:
':tada: This ${issue.pull_request ? "PR" : "issue"} is included in **esign** v${nextRelease.version}\n\nThe release is available on [GitHub release](https://github.com/superdoc-dev/superdoc/releases/tag/${nextRelease.gitTag})',
},
]);
}

module.exports = config;
20 changes: 11 additions & 9 deletions packages/fonts/.releaserc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ const branches = [
];

const isPrerelease = branches.some((b) => typeof b === 'object' && b.name === branch && b.prerelease);
const shouldCommentOnRelease = !isPrerelease;
// GitHub Releases are stable-only; prerelease tags and package publishing still proceed.
const shouldPublishGitHubRelease = Boolean(branch) && !isPrerelease;
const shouldCommentOnLinearRelease = true;
const notesPlugin = isPrerelease ? createReleaseNotesGenerator() : ['semantic-release-ai-notes', { style: 'concise' }];

Expand Down Expand Up @@ -49,13 +50,14 @@ config.plugins.push([
},
]);

config.plugins.push([
'@semantic-release/github',
{
successComment:
':tada: This ${issue.pull_request ? "PR" : "issue"} is included in **@superdoc-dev/fonts** v${nextRelease.version}\n\nThe release is available on [GitHub release](https://github.com/superdoc-dev/superdoc/releases/tag/${nextRelease.gitTag})',
successCommentCondition: shouldCommentOnRelease ? undefined : false,
},
]);
if (shouldPublishGitHubRelease) {
config.plugins.push([
'@semantic-release/github',
{
successComment:
':tada: This ${issue.pull_request ? "PR" : "issue"} is included in **@superdoc-dev/fonts** v${nextRelease.version}\n\nThe release is available on [GitHub release](https://github.com/superdoc-dev/superdoc/releases/tag/${nextRelease.gitTag})',
},
]);
}

module.exports = config;
27 changes: 13 additions & 14 deletions packages/react/.releaserc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,10 @@ const branches = [

const isPrerelease = branches.some((b) => typeof b === 'object' && b.name === branch && b.prerelease);

// stable -> main syncs (real merges) re-attribute prereleases to PRs already shipped on @latest.
// Gate per-PR/issue success comments off on prereleases to avoid duplicate "shipped" comments.
const shouldCommentOnRelease = !isPrerelease;
// Linear release comments are the shipped-version breadcrumb inside Linear
// itself, so keep them on for prereleases even while GitHub PR comments stay
// gated separately.
// GitHub Releases are stable-only; prerelease tags and package publishing still proceed.
const shouldPublishGitHubRelease = Boolean(branch) && !isPrerelease;
// Linear release comments remain the shipped-version breadcrumb, so
// prereleases link to their Git tags when no GitHub Release exists.
const shouldCommentOnLinearRelease = true;

// Use AI-powered notes for stable releases, conventional generator for prereleases
Expand Down Expand Up @@ -82,13 +80,14 @@ config.plugins.push([
{ teamKeys: ['SD'], addComment: shouldCommentOnLinearRelease, packageName: 'react' },
]);

config.plugins.push([
'@semantic-release/github',
{
successComment:
':tada: This ${issue.pull_request ? "PR" : "issue"} is included in **@superdoc-dev/react** v${nextRelease.version}\n\nThe release is available on [GitHub release](https://github.com/superdoc-dev/superdoc/releases/tag/${nextRelease.gitTag})',
successCommentCondition: shouldCommentOnRelease ? undefined : false,
},
]);
if (shouldPublishGitHubRelease) {
config.plugins.push([
'@semantic-release/github',
{
successComment:
':tada: This ${issue.pull_request ? "PR" : "issue"} is included in **@superdoc-dev/react** v${nextRelease.version}\n\nThe release is available on [GitHub release](https://github.com/superdoc-dev/superdoc/releases/tag/${nextRelease.gitTag})',
},
]);
}

module.exports = config;
27 changes: 13 additions & 14 deletions packages/sdk/.releaserc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,10 @@ const branches = [

const isPrerelease = branches.some((b) => typeof b === 'object' && b.name === branch && b.prerelease);

// stable -> main syncs (real merges) re-attribute prereleases to PRs already shipped on @latest.
// Gate per-PR/issue success comments off on prereleases to avoid duplicate "shipped" comments.
const shouldCommentOnRelease = !isPrerelease;
// Linear release comments are the shipped-version breadcrumb inside Linear
// itself, so keep them on for prereleases even while GitHub PR comments stay
// gated separately.
// GitHub Releases are stable-only; prerelease tags and package publishing still proceed.
const shouldPublishGitHubRelease = Boolean(branch) && !isPrerelease;
// Linear release comments remain the shipped-version breadcrumb, so
// prereleases link to their Git tags when no GitHub Release exists.
const shouldCommentOnLinearRelease = true;

// Use AI-powered notes for stable releases, conventional generator for prereleases
Expand Down Expand Up @@ -116,13 +114,14 @@ config.plugins.push([
},
]);

config.plugins.push([
'@semantic-release/github',
{
successComment:
':tada: This ${issue.pull_request ? "PR" : "issue"} is included in **superdoc-sdk** v${nextRelease.version}',
successCommentCondition: shouldCommentOnRelease ? undefined : false,
},
]);
if (shouldPublishGitHubRelease) {
config.plugins.push([
'@semantic-release/github',
{
successComment:
':tada: This ${issue.pull_request ? "PR" : "issue"} is included in **superdoc-sdk** v${nextRelease.version}',
},
]);
}

module.exports = config;
13 changes: 5 additions & 8 deletions packages/superdoc/.releaserc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,10 @@ const branches = [

const isPrerelease = branches.some((b) => typeof b === 'object' && b.name === branch && b.prerelease);

// stable -> main syncs (real merges) re-attribute prereleases to PRs already shipped on @latest.
// Gate per-PR/issue success comments off on prereleases to avoid duplicate "shipped" comments.
const shouldCommentOnRelease = !isPrerelease;
// Linear release comments are the shipped-version breadcrumb inside Linear
// itself, so keep them on for prereleases even while GitHub PR comments stay
// gated separately.
// GitHub Releases are stable-only; prerelease tags and package publishing still proceed.
const shouldPublishGitHubRelease = !isLocalPreview && Boolean(branch) && !isPrerelease;
// Linear release comments remain the shipped-version breadcrumb, so
// prereleases link to their Git tags when no GitHub Release exists.
const shouldCommentOnLinearRelease = true;

// Use AI-powered notes for stable releases, conventional generator for prereleases
Expand Down Expand Up @@ -120,13 +118,12 @@ if (!isLocalPreview) {
}

// GitHub plugin comes last
if (!isLocalPreview) {
if (shouldPublishGitHubRelease) {
config.plugins.push([
'@semantic-release/github',
{
successComment:
':tada: This ${issue.pull_request ? "PR" : "issue"} is included in **superdoc** v${nextRelease.version}\n\nThe release is available on [GitHub release](https://github.com/superdoc-dev/superdoc/releases/tag/${nextRelease.gitTag})',
successCommentCondition: shouldCommentOnRelease ? undefined : false,
},
]);
}
Expand Down
Loading
Loading