GitHub user justinleet opened a pull request:
https://github.com/apache/metron/pull/1188
METRON-1769: Script creation of a release candidate
## Contributor Comments
Preliminary script that I wanted to make available for feedback.
It basically scripts out steps 4 and 5 of the RC creation process
https://cwiki.apache.org/confluence/display/METRON/Release+Process
Basically it will
* Checkout the various repos needed during the release process
* Setup branches/directories as needed
* Create the release artifacts for both core metron as well as
metron-bro-plugin-kafka
* This includes the tar.gz
* The signatures (SHA-256 and SHA-512. MD5 and SHA-1 files are no longer
included in the releases)
* The various supplementary files (LICENSE, CHANGES, etc).
It also has a practice run mode that won't push anything to the servers.
Things that need to be improved
* Need to handle only releasing core and not the plugin. Probably the other
way around, too?
* Error handling when things go wrong (e.g. couldn't sign artifacts).
Right now it's standard Bash "Keep going until the script crashes"
* Input validation around version format and such?
* Might be nice to tie this into maven
Sidenote, the general process around the plugin is really rough and
undocumented right now. We should clean that up (and preferably make it match
formatting wise with the rest of Metron. This might be things like version
numbers as discussed on release threads, but even the tag naming conventions
differ, along with minor things like '-' vs '_' which made doing this extra fun)
## Pull Request Checklist
Thank you for submitting a contribution to Apache Metron.
Please refer to our [Development
Guidelines](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=61332235)
for the complete guide to follow for contributions.
Please refer also to our [Build Verification
Guidelines](https://cwiki.apache.org/confluence/display/METRON/Verifying+Builds?show-miniview)
for complete smoke testing guides.
In order to streamline the review of the contribution we ask you follow
these guidelines and ask you to double check the following:
### For all changes:
- [ ] Is there a JIRA ticket associated with this PR? If not one needs to
be created at [Metron
Jira](https://issues.apache.org/jira/browse/METRON/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel).
- [ ] Does your PR title start with METRON-XXXX where XXXX is the JIRA
number you are trying to resolve? Pay particular attention to the hyphen "-"
character.
- [ ] Has your PR been rebased against the latest commit within the target
branch (typically master)?
### For code changes:
- [ ] Have you included steps to reproduce the behavior or problem that is
being changed or addressed?
- [ ] Have you included steps or a guide to how the change may be verified
and tested manually?
- [ ] Have you ensured that the full suite of tests and checks have been
executed in the root metron folder via:
```
mvn -q clean integration-test install &&
dev-utilities/build-utils/verify_licenses.sh
```
- [ ] Have you written or updated unit tests and or integration tests to
verify your changes?
- [ ] If adding new dependencies to the code, are these dependencies
licensed in a way that is compatible for inclusion under [ASF
2.0](http://www.apache.org/legal/resolved.html#category-a)?
- [ ] Have you verified the basic functionality of the build by building
and running locally with Vagrant full-dev environment or the equivalent?
### For documentation related changes:
- [ ] Have you ensured that format looks appropriate for the output in
which it is rendered by building and verifying the site-book? If not then run
the following commands and the verify changes via
`site-book/target/site/index.html`:
```
cd site-book
mvn site
```
#### Note:
Please ensure that once the PR is submitted, you check travis-ci for build
issues and submit an update to your PR as soon as possible.
It is also recommended that [travis-ci](https://travis-ci.org) is set up
for your personal repository such that your branches are built there before
submitting a pull request.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/justinleet/metron release_utils
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/metron/pull/1188.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1188
----
commit a61af11f61bf85b34248eae2143b4c50df0d89af
Author: Justin Leet <justinjleet@...>
Date: 2018-09-06T14:53:51Z
Adding release script to make my life easier after briefly making it harder
commit 9543cb8ebd05a8c07e193c09c12593978c20d8f8
Author: Justin Leet <justinjleet@...>
Date: 2018-09-06T15:02:11Z
Removing commented out real code
commit d0fcb39cfda8a6afafc1c7c5258d922131a96312
Author: Justin Leet <justinjleet@...>
Date: 2018-09-06T15:28:10Z
Adding newline to printf
----
---