Matthew Foley created HBASE-24318:
-------------------------------------
Summary: Create-release scripts fixes and enhancements
Key: HBASE-24318
URL: https://issues.apache.org/jira/browse/HBASE-24318
Project: HBase
Issue Type: Improvement
Components: create-release
Affects Versions: 3.0.0-alpha-1, 2.3.0
Environment: Linux Docker container, or Mac OS X without Docker
Reporter: Matthew Foley
The create-release tools are a set of scripts that promote best practice in
making Apache releases, by automating most of the steps and running them under
Docker for reliability. However, the current state of the scripts has many bugs
and ambiguities.
The proposed PR cleans up the code and clarifies usage. It enables:
- Clear statement of the four steps, which are now called `tag`,
`publish-dist`, `publish-snapshot`, and `publish-release` (the latter two being
mutually exclusive alternatives).
- Ability to do the three tag-dist-release steps with a single command, or do
any of the steps singly. (Running singly had bugs and unfulfilled dependencies
before.)
- Ability to do a reliable and useful "dry run" of all steps or each step, and
chain together the tag step with publish steps in a dry run.
- Ability to run any or all steps correctly in Docker or outside of Docker, on
Linux and Mac.
- Cleaned up all `shellcheck` errors in the scripts, and removed ambiguities
and redundancies in the many environment variables used.
In addition, the changes move the code toward being more general / less
HBase-specific, so it can be run on any Apache project (while still
accommodating HBase-specific features regarding how sub-projects are named and
organized in Jira and release repos). In future I propose to take it further
along that path, and move create-release into Yetus (recognizing that this
create-release code has been passed between a couple other projects already).
These changes have NO IMPACT on HBase functionality.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)