You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Aljoscha Krettek (JIRA)" <ji...@apache.org> on 2017/07/28 10:32:00 UTC

[jira] [Created] (FLINK-7290) Make release scripts modular

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)