Skip to content

fix: Migrate from beachball to semantic-release for cutting releases - #166

Merged
JakeShirley merged 1 commit into
mainfrom
jake/semantic-release
Oct 15, 2026
Merged

JakeShirley merged 1 commit into
mainfrom
jake/semantic-release

Conversation

@JakeShirley

@JakeShirley JakeShirley commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

This change moves from using beachball to semantic-release (with the multi-semantic-release plugin to support monorepo versioning).

Note: Marking as a fix to "kick" each packages' releases to test to ensure it works.

@JakeShirley
JakeShirley requested a review from rlandav as a code owner October 14, 2026 20:25
Comment on lines -48 to -55
// Post-publish
task('postpublish', () => {
return publishReleaseTask({
repoOwner: 'Mojang',
repoName: 'minecraft-scripting-libraries',
message: 'See attached zip for pre-built minecraft-gameplay-utilities bundle with type declarations.',
});
});

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This is a little bit of a seprate thing, but the idea here before was that some creators wanted a prebuilt version so they wouldn't use NPM. I presume we are considering this a non-scenario anymore as our ecosystem leans into NPM now?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Hmm I don't remember that use case tbh. I'll probably remove it for now and treat this as a "scream test". These days we lean into the NPM ecosystem pretty hard.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I think it largely came from Mike when we were still considering whether a requirement to use node/npm was too big of a jump. I also agree this probably doesn't align with our current perspective.

Copilot AI 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.

🟡 Changes recommended

The public API removal needs a breaking-change release classification or compatibility preservation.

1 open finding
What changed in this PR

Migrates monorepo publishing from Beachball to semantic-release, using commit messages and existing package tags to determine releases.

Changes:

  • Adds isolated release tooling and Conventional Commit checks.
  • Removes Beachball automation, changelogs, and custom publishing tasks.
  • Updates package metadata and contributor guidance.
File Description
tools/​markup-generators-plugin/​package.json Updates version, dependency ranges, and publishing metadata.
tools/​markup-generators-plugin/​just.config.cts Removes custom postpublish task.
tools/​markup-generators-plugin/​CHANGELOG.md Removes Beachball changelog.
tools/​markup-generators-plugin/​CHANGELOG.json Removes Beachball release data.
tools/​eslint-plugin-minecraft-linting/​package.json Sets release-managed version placeholder.
tools/​eslint-plugin-minecraft-linting/​CHANGELOG.md Removes Beachball changelog.
tools/​eslint-plugin-minecraft-linting/​CHANGELOG.json Removes Beachball release data.
tools/​core-build-tasks/​src/​tasks/​publishRelease.ts Deletes custom GitHub release implementation.
tools/​core-build-tasks/​src/​tasks/​index.ts Removes publishing API export.
tools/​core-build-tasks/​package.json Updates version and removes publishing dependencies.
tools/​core-build-tasks/​esbuild.mjs Generalizes the bundling explanation comment.
tools/​core-build-tasks/​CHANGELOG.md Removes Beachball changelog.
tools/​core-build-tasks/​CHANGELOG.json Removes Beachball release data.
tools/​api-docs-generator/​package.json Updates version and publishing metadata.
tools/​api-docs-generator/​just.config.cts Removes custom postpublish task.
tools/​api-docs-generator/​CHANGELOG.md Removes Beachball changelog.
tools/​api-docs-generator/​CHANGELOG.json Removes Beachball release data.
package.json Removes Beachball dependency and scripts.
package-lock.json Synchronizes workspace metadata and dependency removals.
libraries/​math/​package.json Updates version and removes postpublish script.
libraries/​math/​just.config.cts Removes custom postpublish task.
libraries/​math/​CHANGELOG.md Removes Beachball changelog.
libraries/​math/​CHANGELOG.json Removes Beachball release data.
libraries/​gameplay-utilities/​package.json Updates version and removes postpublish script.
libraries/​gameplay-utilities/​just.config.cts Removes custom postpublish task.
libraries/​gameplay-utilities/​CHANGELOG.md Removes Beachball changelog.
libraries/​gameplay-utilities/​CHANGELOG.json Removes Beachball release data.
CONTRIBUTING.md Documents commit-based releases and previews.
change/​@minecraft-markup-generators-plugin-cba35642-23cd-4760-be4c-75b9eb620273.json Deletes pending Beachball changefile.
change/​@minecraft-markup-generators-plugin-8b1ad781-38bf-424b-a594-69eee789a5cf.json Deletes pending Beachball changefile.
change/​@minecraft-markup-generators-plugin-56940080-f18e-4223-bcb5-9d58984c3236.json Deletes pending Beachball changefile.
.gitignore Ignores generated release artifacts.
.github/​workflows/​release-changes.yml Switches publishing workflow to semantic-release.
.github/​workflows/​pr-title.yml Adds Conventional Commit validation.
.github/​workflows/​dependabot-beachball.yml Deletes changefile automation workflow.
.github/​workflows/​beachball-check.yml Deletes Beachball validation workflow.
.github/​scripts/​dependabot-beachball.mjs Deletes changefile generation script.
.github/​release/​release.mjs Adds release and preview entry point.
.github/​release/​release.config.mjs Configures versioning, publishing, and release assets.
.github/​release/​package.json Defines isolated release tooling dependencies.
.github/​dependabot.yml Updates commit prefixes and release-tooling coverage.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread tools/core-build-tasks/src/tasks/index.ts
@JakeShirley
JakeShirley merged commit e2e33c4 into main Oct 15, 2026
7 checks passed
@JakeShirley
JakeShirley deleted the jake/semantic-release branch October 15, 2026 17:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants