Repository navigation
fix: Migrate from beachball to semantic-release for cutting releases - #166
Conversation
2143f00 to
fff3a1b
Compare
| // 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.', | ||
| }); | ||
| }); |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
🟡 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.

This change moves from using beachball to semantic-release (with the multi-semantic-release plugin to support monorepo versioning).
Note: Marking as a
fixto "kick" each packages' releases to test to ensure it works.