-
Notifications
You must be signed in to change notification settings - Fork 92
feat: Update release version #2762
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
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
- Move UIVersion to var so it can be set using ldflags. - Add a release step that opens a pr with an update that sets the default value of the var to the new version.
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
This commit introduces automated workflows for managing application versions and releases: - Version Bump workflow to update package.json and version.go - Release Draft workflow to create drafts when versions increase - Release Published workflow to build/package releases Other changes: - Add version validation script - Update README with release process details - Add workflow documentation
- Add 8 new custom GitHub Actions for reusable workflow components - Refactor version-bump.yml to use custom actions and Peter Evans create-pull-request - Add specific version input capability to version-bump workflow - Update release-draft.yml to use version validation custom action - Simplify release-published.yml with validation and build custom actions - Update version validation to compare against git tags instead of last commit - Remove unnecessary Node.js setup from version-bump workflow Custom actions added: - analyze-version-bump-type: Analyze commits for semantic version bumping - build-and-package: Build and package UI for releases - calculate-version-bump: Calculate new versions with override support - update-version-files: Atomically update package.json and version.go - update-version-from-release: Update version files from release tags - validate-published-release: Validate release versions match codebase - validate-release-readiness: Validate version sync and increases - validate-version-sync: Check package.json and version.go alignment This reduces workflow complexity from 274 lines to reusable components while adding robust version validation and specific version override capability.
Alex-Tideman
approved these changes
Jun 11, 2025
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.
Motivation
Previously, releases could be published without proper version increments in the codebase, leading to inconsistencies between release tags and actual code versions. We needed a way to enforce that version bumps happen before releases, ensuring every release reflects an actual version increase in the code.
Solution
Enforce Version Bump Workflow: Added a mandatory version bump step that must happen before any release can be created. The workflow analyzes commits or accepts manual input to properly increment versions in both
package.json
andserver/server/version/version.go
.Block Releases Until Version Increases: Modified release workflows to validate that the current version is actually newer than the last released version (comparing against git tags, not commits). Draft releases and published releases are now blocked until this validation passes.
Single Source of Truth: Uses Go's
UIVersion
constant as the authoritative version source, ensuring all validation logic is consistent andpackage.json
stays in sync.Benefits
Usage
Maintainers now run Actions → "Version Bump" before creating releases, which creates a PR with proper version increments. Only after this PR is merged will the automated release workflows proceed with draft and final release creation.
This ensures every release represents a genuine version progression and maintains consistency between code and release artifacts.
combined.mov