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)

Reply via email to