Aljoscha Krettek created FLINK-7290:
---------------------------------------
Summary: Make release scripts modular
Key: FLINK-7290
URL: https://issues.apache.org/jira/browse/FLINK-7290
Project: Flink
Issue Type: Improvement
Components: Build System
Affects Versions: 1.3.1, 1.3.0, 1.4.0
Reporter: Aljoscha Krettek
Assignee: Aljoscha Krettek
Fix For: 1.4.0, 1.3.2
The current release script _create_release_files.sh_ is one monolithic script
that creates a release branch, changes versions in POMs and documentation,
creates a release commit (but not a release tag), creates a source release,
pushes Scala 2.10 and Scala 2.11 artefacts to maven, creates binary convenience
releases for various Hadoop and Scala versions, stages the source and binary
releases for release voting.
If anything goes wrong in the release process modification (or complete
start-over) of the process is required. I'm proposing to create a set of
modular release scripts that each perform a given action. (Actually, I would
like to use the _maven-release-plugin_ for that but this would require more
work and doesn't work well for releasing with different Scala versions).
I'm proposing this set of scripts:
* _create_release_branch.sh_: Branch of for new release, update versions in
POMs and doc, create release tag.
* _create_source_release.sh_: Selfexplanatory
* _deploy_stating_jars.sh_: Selfexplanatory
* _create_binary_release.sh_: Create a binary release for a specific version
or for a whole matrix of versions.
Also, having the modular scripts allows, for example, to create the binary
releases (which is time consuming) on a VM somewhere, then fetching them to the
local machine and sign them there. I.e. this doesn't require putting a private
key and passphrase on a remote machine.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)