Rationale
Details on the history and discussions that led to this process can be found at Release Versioning Strategy.
Benefits
- No unexpected build failures due to upstream SNAPSHOT changes
- No need for cross-project consolidated “mega builds” to check dependency issues
- Avoids issues with trying to synchronize artifact version numbers across projects
- Improved dev and build cycle time
...
- Produce SNAPSHOT Java artifact. Test this in a SNAPSHOT docker image.
- Produce staging (release candidate) Java artifact. Test this in a SNAPSHOT docker image.
- Produce release Java artifact by picking one of the candidates from staging.
- Produce STAGING docker image using the release Java artifact. Use this in E2E test flows.
- Produce RELEASE docker image by picking one of the candidate STAGING docker images.