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 2021/01/20 15:08:00 UTC

[jira] [Reopened] (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 reopened FELIX-4818:
----------------------------------

> 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
>            Priority: Major
>             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>-src.zip
> ** https://dist.apache.org/repos/dist/release/felix/org.apache.felix.dependencymanager-r<n>-deps.zip
> ** https://dist.apache.org/repos/dist/release/felix/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>)
> More informations can be found in [5] concerning how to use the gradle script, when making a release.
> [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
> [5] http://svn.apache.org/repos/asf/felix/trunk/dependencymanager/release/README.release



--
This message was sent by Atlassian Jira
(v8.3.4#803005)