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:11:00 UTC

[jira] [Closed] (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 closed 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 felix-dev git repo, usingĀ [org.apache.felix.dependencymanager-r|https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.dependencymanager-r]<n> tag name.
>  * 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:java}
> 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)