[MRELEASE-981] Improve dryRun for release:perform
- Dominant language
- Java
- Stars
- 128
- Forks
- 145
- Avg merge
- 7h 7m
- Merged PRs (30d)
- 3
Description
**[Russell Gold](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=russgold)** opened **[MRELEASE-981](https://issues.apache.org/jira/browse/MRELEASE-981?redirect=false)** and commented
Support for dryRun on perform was added in MRELEA[SE-736](https://issues.apache.org/jira/browse/SE-736) so that the actual goals are skipped, but the release.properties file is deleted. I think it may be time to revisit that.
The main issue is that it is now possible to specify different behavior during release:perform than release:prepare by specifying profiles to be activated during the later goal in the releaseProfiles configuration tag. There is no way to test that behavior, since with dryRun, everything is skipped. Further, when you do the dryRun perform, the release.properties file is deleted, meaning that you cannot try it again.
Yes, it seems odd to rerun the tests done during the prepare goal, but that doesn't avoid the value of testing the perform step. I would like to see, therefore, a way actually to do a real dryRun: actually checking out the files and doing all of the steps, but without pushing the files and updating the site - and without deleting release.properties.
As an alternative, perhaps creating a separate dryRun goal would be cleaner: it would still pick up the profiles and arguments from the configuration, but could skip all of the scm interaction and security validation, and just doing the unique prepare and perform steps. It could also skip the prompts for versions and tagging, as they would not matter for testing the release behavior.
---
**Affects:** 2.5.3
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the release:perform dry-run behavior and the earlier MRELEASE-736 change referenced in the issue, then trace how releaseProfiles and release.properties are handled. Done means a dry run can exercise perform-specific behavior, including configured profiles, without pushing files, updating the site, or deleting release.properties.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100