felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pierre De Rop (JIRA)" <j...@apache.org>
Subject [jira] [Created] (FELIX-4818) New release process for Dependency Manager
Date Mon, 02 Mar 2015 10:58:04 GMT
Pierre De Rop created FELIX-4818:

             Summary: 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 

The usage of this command is:

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

* 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

[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

View raw message