-
Notifications
You must be signed in to change notification settings - Fork 585
[Feature]: Automate release process #3056 #3057
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
base: main
Are you sure you want to change the base?
[Feature]: Automate release process #3056 #3057
Conversation
- Add make prepare-release command for automated release preparation - Create version-updater.js for package.json and CHANGELOG.md update - Create prepare-release.js as main automation orchestrator - Create demo.js to showcase the automation workflow - Integrate with existing make changelog and make draft-release commands Resolves jaegertracing#3056 Signed-off-by: ADITYATIWARI342005 <142050150+ADITYATIWARI342005@users.noreply.github.com>
How to use the Graphite Merge QueueAdd the label merge-queue to this PR to add it to the merge queue. You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. |
Signed-off-by: ADITYATIWARI342005 <142050150+ADITYATIWARI342005@users.noreply.github.com>
… determination - Remove custom calculateNextVersion function - Add determineVersionFromMainRepo() to use main Jaeger repo logic - Add fallback version determination when main repo unavailable - Update demo script to reflect new approach - Maintains consistency with main Jaeger repository versioning Signed-off-by: Aditya Tiwari <adityatiwari342005@gmail.com>
3c9b183
to
40e58fa
Compare
- Rename prepare-release.js to prepare.js for conciseness - Remove demo.js file (not part of release process) - Replace full license headers with SPDX identifiers - Accept version as argument instead of internal determination - Implement automated PR creation using gh utility - Remove manual steps and fallback logic - Update Makefile to require VERSION parameter Signed-off-by: Aditya Tiwari <adityatiwari342005@gmail.com>
- Use --body-file instead of --body to avoid shell escaping issues - Write PR body to temporary file and clean up after use - Fixes multi-line PR body with special characters and spaces Signed-off-by: Aditya Tiwari <adityatiwari342005@gmail.com>
Hi @yurishkuro |
Signed-off-by: Aditya Tiwari <adityatiwari342005@gmail.com>
Hi @yurishkuro , Thank you for your continued support and mentorship. |
[Feature]: Automate release process #3056
This PR implements automated release preparation for Jaeger UI, addressing issue #3056. It transforms the current manual release process into a streamlined, two-command workflow.
Which problem is this PR solving?
Description of the changes
Implementation (Automated Process)
make prepare-release VERSION=x.y.z
make changelog
andmake draft-release
How was this change tested?
make prepare-release VERSION=x.y.z
and configurations verified.Checklist
I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
I have signed all commits
I have added unit tests for the new functionality
I have run lint and test steps successfully
jaeger
:make lint test
jaeger-ui
:npm run lint
andnpm run test
All tests run and passed.
What's New
New Command:
make prepare-release VERSION=x.y.z
This command automates the entire release preparation process:
Version Input
VERSION=1.74.0
)File Updates
packages/jaeger-ui/package.json
versionCHANGELOG.md
with new version headerpackages/plexus/package.json
for major version bumpsGit Automation
prepare-release-v{version}
)Automated PR Creation
gh
utilitychangelog:skip
label automaticallyIntegration
make changelog
andmake draft-release
Testing
The automation has been thoroughly tested and demonstrates:
Next Steps
After merging this PR:
make prepare-release VERSION=x.y.z
for all future releasesmake changelog
andmake draft-release
commands remain unchangedmake prepare-release VERSION=x.y.z
→ review PR → merge →make changelog
→make draft-release
�� Files Changed
scripts/release/prepare.js
- Main automation orchestrator (renamed from prepare-release.js)scripts/release/version-updater.js
- Version update logicMakefile
- Addedprepare-release
target with VERSION parameterscripts/release/demo.js
- Removed (was only for development testing)Screenshots/Demo
make prepare-release VERSION=x.y.z
This implementation completes the automation that was already 70% implemented in the repository, filling the gaps in the existing release process while preserving all current functionality.
closes #3056