You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Pierre De Rop (JIRA)" <ji...@apache.org> on 2015/03/02 12:00:09 UTC

[jira] [Updated] (FELIX-4818) New release process for Dependency Manager

     [ https://issues.apache.org/jira/browse/FELIX-4818?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pierre De Rop updated FELIX-4818:
---------------------------------
    Description: 
The new Dependency Manager 4.0  is now built using gradle and bndtools (see FELIX-4816). But this has an impact on the release process because we are not using Maven anymore. So, this issue describes a new release process for DM, which is for now minimal: we don't use the nexus staging repository and we don't release to maven central (this is optional). But we'll try to refine and improve the release process gradually, in next DM releases.

So, here is the new release process description:

* it is based mostly on the basic Apache release process (see [1]), and is also inspired from the Apache Ace release process (see [2]), and the Amdatu release process (see [3]) which are also using bndtools.

* the DM4 release will be in the form of three archives: a source based archive (org.apache.felix.dependencymanager-r<n>src.zip), a source binary dependencies archive (org.apache.felix.dependencymanager-r<n>deps.zip) containing all build-time binary dependencies, and a binary archive  (org.apache.felix.dependencymanager-r<n>bin.zip) containing all DM bundles for convenience.

* Each released artifacts (-src, -deps, -bin) has the same unique release version number, regardless of the outcome of the vote. This implies that release version used for releases are not to be reused.  By convention, a release version is defined as "r<N>", where <N> is a positive integer number starting at 1 and is incremented upon each release.

* To verify the integrity of archives, .asc, .md5, and .sha (512) checksum files are provided for all archives.

* Before making a release, the dependency manager source will be tagged to https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.dependencymanager-r<n>

* Then a staging release is put in https://dist.apache.org/repos/dist/dev/felix/org.apache.felix.dependencymanager-r<n>/ directory which will contain the three -src.zip, -deps.zip and -bin.zip archives.

* Then a vote starts, and vote participants must then use a custom check_staged_release.sh (see [4]). This script, unlike the original Felix check_stage_release.sh, will download staging from https://dist.apache.org/repos/dist/dev/felix/org.apache.felix.dependencymanager-r<n> instead of 
http://repository.apache.org/content/repositories

The usage of this command is:

{code}
sh check_staged_release.sh r<n> /tmp/felix-staging
(replace r<n> by the actual staging release reversion, like "r1")
{code}

* Then if the vote has passed, the staging release is promoted and moved to: 
** https://dist.apache.org/repos/dist/release/felix/org.apache.felix.dependencymanager-r<n>/org.apache.felix.dependencymanager-r<n>-src.zip
** https://dist.apache.org/repos/dist/release/felix/org.apache.felix.dependencymanager-r<n>/org.apache.felix.dependencymanager-r<n>-deps.zip
** https://dist.apache.org/repos/dist/release/felix/org.apache.felix.dependencymanager-r<n>/org.apache.felix.dependencymanager-r<n>-bin.zip

* Else, if the vote has failed, the staging release is simply deleted from the staging area (https://dist.apache.org/repos/dist/dev/felix/org.apache.felix.dependencymanager-r<n>)

[1] http://www.apache.org/dev/release.html
[2] https://ace.apache.org/docs/release-guide.html
[3] https://amdatu.atlassian.net/wiki/display/AMDATUDEV/Amdatu+Release+Procedure
[4] http://svn.apache.org/repos/asf/felix/trunk/dependencymanager/release/check_staged_release.sh


  was:
The new Dependency Manager 4.0  is now built using gradle and bndtools (see FELIX-4816). But this has an impact on the release process because we are not using Maven anymore. So, this issue describes a new release process for DM, which is for now minimal: we don't use the nexus staging repository and we don't release to maven central (this is optional). But we'll try to refine and improve the release process gradually, in next DM releases.

So, here is the new release process description:

* it is based mostly on the basic Apache release process (see [1]), and is also inspired from the Apache Ace release process (see [2]), and the Amdatu release process (see [3]) which are also using bndtools.

* the DM4 release will be in the form of three archives: a source based archive (org.apache.felix.dependencymanager-r<n>src.zip), a source binary dependencies archive (org.apache.felix.dependencymanager-r<n>deps.zip) containing all build-time binary dependencies, and a binary archive  (org.apache.felix.dependencymanager-r<n>bin.zip) containing all DM bundles for convenience.

* Each released artifacts (-src, -deps, -bin) has the same unique release version number, regardless of the outcome of the vote. This implies that release version used for releases are not to be reused.  By convention, a release version is defined as "r<N>", where <N> is a positive integer number starting at 1 and is incremented upon each release.

* To verify the integrity of archives, .asc, .md5, and .sha (512) checksum files are provided for all archives.

* Before making a release, the dependency manager source will be tagged to https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.dependencymanager-r<n>

* Then a staging release is put in https://dist.apache.org/repos/dist/dev/felix/org.apache.felix.dependencymanager-r<n>/ directory which will contain the three -src.zip, -deps.zip and -bin.zip archives.

* Then a vote starts, and vote participants must then use a custom check_staged_release.sh (see [4]). This script, unlike the original Felix check_stage_release.sh, will download staging from https://dist.apache.org/repos/dist/dev/felix/org.apache.felix.dependencymanager-r<n> instead of 
http://repository.apache.org/content/repositories

The usage of this command is:

{code}
sh check_staged_release.sh r<n> /tmp/felix-staging
(replace r<n> by the actual staging release reversion, like "r1")
{code}

* Then if the vote has passed, the staging release is promoted and moved to: 
** https://dist.apache.org/repos/dist/release/felix/org.apache.felix.dependencymanager-r<n>/org.apache.felix.dependencymanager-r<n>-src.zip
** https://dist.apache.org/repos/dist/release/felix/org.apache.felix.dependencymanager-r<n>/org.apache.felix.dependencymanager-r<n>-deps.zip
** https://dist.apache.org/repos/dist/release/felix/org.apache.felix.dependencymanager-r<n>/org.apache.felix.dependencymanager-r<n>-bin.zip

* Else, of the vote has failed, the staging release is simply deleted from the staging area (https://dist.apache.org/repos/dist/dev/felix/org.apache.felix.dependencymanager-r<n>)

[1] http://www.apache.org/dev/release.html
[2] https://ace.apache.org/docs/release-guide.html
[3] https://amdatu.atlassian.net/wiki/display/AMDATUDEV/Amdatu+Release+Procedure
[4] http://svn.apache.org/repos/asf/felix/trunk/dependencymanager/release/check_staged_release.sh



> New release process for Dependency Manager
> ------------------------------------------
>
>                 Key: FELIX-4818
>                 URL: https://issues.apache.org/jira/browse/FELIX-4818
>             Project: Felix
>          Issue Type: Wish
>          Components: Dependency Manager
>            Reporter: Pierre De Rop
>            Assignee: Pierre De Rop
>             Fix For: org.apache.felix.dependencymanager-r1
>
>
> The new Dependency Manager 4.0  is now built using gradle and bndtools (see FELIX-4816). But this has an impact on the release process because we are not using Maven anymore. So, this issue describes a new release process for DM, which is for now minimal: we don't use the nexus staging repository and we don't release to maven central (this is optional). But we'll try to refine and improve the release process gradually, in next DM releases.
> So, here is the new release process description:
> * it is based mostly on the basic Apache release process (see [1]), and is also inspired from the Apache Ace release process (see [2]), and the Amdatu release process (see [3]) which are also using bndtools.
> * the DM4 release will be in the form of three archives: a source based archive (org.apache.felix.dependencymanager-r<n>src.zip), a source binary dependencies archive (org.apache.felix.dependencymanager-r<n>deps.zip) containing all build-time binary dependencies, and a binary archive  (org.apache.felix.dependencymanager-r<n>bin.zip) containing all DM bundles for convenience.
> * Each released artifacts (-src, -deps, -bin) has the same unique release version number, regardless of the outcome of the vote. This implies that release version used for releases are not to be reused.  By convention, a release version is defined as "r<N>", where <N> is a positive integer number starting at 1 and is incremented upon each release.
> * To verify the integrity of archives, .asc, .md5, and .sha (512) checksum files are provided for all archives.
> * Before making a release, the dependency manager source will be tagged to https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.dependencymanager-r<n>
> * Then a staging release is put in https://dist.apache.org/repos/dist/dev/felix/org.apache.felix.dependencymanager-r<n>/ directory which will contain the three -src.zip, -deps.zip and -bin.zip archives.
> * Then a vote starts, and vote participants must then use a custom check_staged_release.sh (see [4]). This script, unlike the original Felix check_stage_release.sh, will download staging from https://dist.apache.org/repos/dist/dev/felix/org.apache.felix.dependencymanager-r<n> instead of 
> http://repository.apache.org/content/repositories
> The usage of this command is:
> {code}
> sh check_staged_release.sh r<n> /tmp/felix-staging
> (replace r<n> by the actual staging release reversion, like "r1")
> {code}
> * Then if the vote has passed, the staging release is promoted and moved to: 
> ** https://dist.apache.org/repos/dist/release/felix/org.apache.felix.dependencymanager-r<n>/org.apache.felix.dependencymanager-r<n>-src.zip
> ** https://dist.apache.org/repos/dist/release/felix/org.apache.felix.dependencymanager-r<n>/org.apache.felix.dependencymanager-r<n>-deps.zip
> ** https://dist.apache.org/repos/dist/release/felix/org.apache.felix.dependencymanager-r<n>/org.apache.felix.dependencymanager-r<n>-bin.zip
> * Else, if the vote has failed, the staging release is simply deleted from the staging area (https://dist.apache.org/repos/dist/dev/felix/org.apache.felix.dependencymanager-r<n>)
> [1] http://www.apache.org/dev/release.html
> [2] https://ace.apache.org/docs/release-guide.html
> [3] https://amdatu.atlassian.net/wiki/display/AMDATUDEV/Amdatu+Release+Procedure
> [4] http://svn.apache.org/repos/asf/felix/trunk/dependencymanager/release/check_staged_release.sh



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)