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
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
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)