Skip to content

#1594: Implement release commandlet#2023

Open
laert-ll wants to merge 11 commits into
devonfw:mainfrom
laert-ll:feature/1594-implement-release-commandlet
Open

#1594: Implement release commandlet#2023
laert-ll wants to merge 11 commits into
devonfw:mainfrom
laert-ll:feature/1594-implement-release-commandlet

Conversation

@laert-ll

@laert-ll laert-ll commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

This PR fixes #1594

Implemented changes:

  • Added ide release commandlet that automates building and deploying a release: derives the release version from .mvn/maven.config (-Drevision=), commits and tags it, runs the Maven deploy build, bumps to the next -SNAPSHOT version, and pushes after confirmation.
  • Guards: aborts on uncommitted changes, warns when run on a fork, and requires the top-level project (or --force).
  • Build goals are configurable via MVN_RELEASE_OPTS (default clean deploy -Dchangelist= -Pdeploy); failed builds can be retried.
  • Added commit, tag, push, and retrieveGitRemotes to GitContext.

Testing instructions

  1. In a project using -Drevision= versioning (e.g. IDEasy itself), run ide release from the project root.
  2. Confirm it proposes the correct release/next versions, then creates the set release version commit + release/ tag, builds, and creates the set next version commit.
  3. Answer no at the final "Do you want to continue?" prompt to abort before pushing — verify nothing is pushed. To clean up: git reset --hard HEAD~2 && git tag -d release/.

Checklist for this PR

Make sure everything is checked before merging this PR. For further info please also see
our DoD.

  • When running mvn clean test locally all tests pass and build is successful
  • PR title is of the form #«issue-id»: «brief summary» (e.g. #921: fixed setup.bat). If no issue ID exists, title only.
  • PR top-level comment summarizes what has been done and contains link to addressed issue(s)
  • PR and issue(s) have suitable labels
  • Issue is set to In Progress and assigned to you or there is no issue (might happen for very small PRs)
  • You followed all coding conventions
  • You have added the issue implemented by your PR in CHANGELOG.adoc unless issue is labeled
    with internal
  • You have formulated clear instructions on how to test your contribution under "Testing instructions"

@github-project-automation github-project-automation Bot moved this to 🆕 New in IDEasy board Jun 15, 2026
@laert-ll laert-ll self-assigned this Jun 15, 2026
@laert-ll laert-ll force-pushed the feature/1594-implement-release-commandlet branch from 13ab4c6 to d28f993 Compare June 15, 2026 13:26
@laert-ll laert-ll moved this from 🆕 New to 🏗 In progress in IDEasy board Jun 16, 2026
@laert-ll laert-ll force-pushed the feature/1594-implement-release-commandlet branch from d491923 to 0547ac4 Compare June 16, 2026 10:42
@laert-ll laert-ll force-pushed the feature/1594-implement-release-commandlet branch from 78e6ead to d9c6911 Compare June 25, 2026 07:19
@coveralls

coveralls commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

Coverage Report for CI Build 29005436339

Coverage decreased (-0.002%) to 72.178%

Details

  • Coverage decreased (-0.002%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 53 coverage regressions across 2 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

53 previously-covered lines in 2 files lost coverage.

File Lines Losing Coverage Coverage
com/devonfw/tools/ide/git/GitContextImpl.java 46 37.53%
com/devonfw/tools/ide/commandlet/CommandletManagerImpl.java 7 91.83%

Coverage Stats

Coverage Status
Relevant Lines: 16798
Covered Lines: 12641
Line Coverage: 75.25%
Relevant Branches: 7496
Covered Branches: 4894
Branch Coverage: 65.29%
Branches in Coverage %: Yes
Coverage Strength: 3.19 hits per line

💛 - Coveralls

@laert-ll laert-ll marked this pull request as ready for review June 26, 2026 08:35
@laert-ll laert-ll moved this from 🏗 In progress to Team Review in IDEasy board Jun 26, 2026
@laert-ll laert-ll added release related to release commandlet and releases of IDEasy commandlet ide sub-command git git version management tool integration devonfw-ide backward compatibility for devonfw-ide (regression) labels Jul 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

commandlet ide sub-command devonfw-ide backward compatibility for devonfw-ide (regression) git git version management tool integration release related to release commandlet and releases of IDEasy

Projects

Status: Team Review

Development

Successfully merging this pull request may close these issues.

implement ReleaseCommandlet

3 participants