Release automation: publish on merge to main via GitHub App - #9
Merged
Conversation
Adds the publish chain that runs when a pull request into main is merged: main-publish selects the release type from the PR title, bumps package.json, tags v<version>, refreshes development from main and moves development to the next pre-release. All pushes use a short-lived token minted from the ui-extensions-bot GitHub App (org secrets RELEASE_APP_CLIENT_ID and RELEASE_APP_PRIVATE_KEY), so no personal access token is needed. Also adds a release-preflight workflow that runs on pull requests into main. It checks the App can push to the repo and reports the version the merge will tag. It publishes nothing. The development test run is unchanged apart from enabling the Ubuntu build targets, which were commented out and left the Ubuntu matrix legs failing. There is no development publish workflow: merges into development only test. Ported from the sister com.unity.uiextensions repo's development branch, with the tag step fixed (tag HEAD rather than a bash-style variable that is empty under pwsh), the tag-exists check corrected to compare against v<version>, and the closed-without-merge case no longer refreshing development. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Puts the UI Toolkit hero image from the GitHub.io press kit at the top, followed by the title, the OpenUPM and workflow badges, and the description. The OpenUPM badge is live now that the listing has been submitted. Removes the Coming Soon notes: the install section shows the OpenUPM command plainly and Getting Started points at the package samples and the docs site. Fixes the license links, which pointed at a release branch file that does not exist, and a stray character at the end of the license line. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the release automation for V1 and later releases, using the
ui-extensions-botGitHub App instead of a personal access token.What runs when
development-buildandtestupmrelease.ymlbuilds the package on Windows, macOS and Ubuntu across Unity 6000.0 to 6000.7. It only tests. The Ubuntu build targets were commented out and every Ubuntu leg failed with a missing Unity Hub error, so they are enabled again.release-preflight.ymlchecks the App can mint a token with push access, reports the version the merge will tag, and fails early if that tag already exists. It publishes nothing.main-publish.ymlbumpspackage.json, commits, tagsv<version>, merges main back into development, and moves development to the next pre-release (for example1.0.1-pre.1).Release type from the PR title
1.0.0-pre.11.0.0(patch release: strip the pre-release suffix, or bump patch if there is none)minor-release1.1.0major-release2.0.0no-verpackage.json, no bumpDifferences from the sister repo's workflows
actions/create-github-app-tokenusing the org secretsRELEASE_APP_CLIENT_IDandRELEASE_APP_PRIVATE_KEY. Commits and tags are attributed toui-extensions-bot[bot]. TheValidate GIT_PATsteps are gone.HEAD. The sister's release branch used a bash-style${GITHUB_SHA}inside a PowerShell step, which is empty and made every tag push fail.v<version>; the original compared the bare version and never matched.release-completerequiresmerged == true, so closing a release PR without merging no longer refreshes development.development-publish.yml: merges into development do not tag pre-releases.versionfield, sopackage.jsonkeeps its formatting.Before merging the release PR to main
CHANGELOG.mdstill has an Unreleased section above the 1.0.0 entry that should be folded in, and that entry is dated 2026/06.