You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2021/09/18 16:35:04 UTC

[plc4x] branch develop updated: Updated the documentation on releasing

This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git


The following commit(s) were added to refs/heads/develop by this push:
     new 563b225  Updated the documentation on releasing
563b225 is described below

commit 563b225fb2154bf69a7ab82042d65aa835fd6256
Author: cdutz <ch...@c-ware.de>
AuthorDate: Sat Sep 18 18:34:56 2021 +0200

    Updated the documentation on releasing
---
 src/site/asciidoc/developers/release/release.adoc | 40 ++++++++++++++++++++---
 1 file changed, 36 insertions(+), 4 deletions(-)

diff --git a/src/site/asciidoc/developers/release/release.adoc b/src/site/asciidoc/developers/release/release.adoc
index e142a71..97bf780 100644
--- a/src/site/asciidoc/developers/release/release.adoc
+++ b/src/site/asciidoc/developers/release/release.adoc
@@ -42,7 +42,7 @@ IMPORTANT: Please be sure to execute the release with a Java version between 1.8
 * [ ] Perform the release:
 [subs="verbatim,attributes"]
 ----
-   mvn release:perform -DreleaseProfiles=apache-release
+   mvn clean release:perform
 ----
 [%interactive]
 * [ ] Close the staging repo on `Nexus`
@@ -274,24 +274,28 @@ NOTE: If the commit history doesn't look like this, something went wrong.
 
 If something goes wrong, you can always execute:
 
-   mvn release:rollback
+   mvn release:rollback -P with-c,with-dotnet,with-go,with-python,with-sandbox
 
 It will change the versions back and commit and push things.
 
+Also, should you check if you have any uncommitted changes (as our code-generation can make git think they are "dirty")
+
 However, it will not delete the tag in GIT (locally and remotely). So you have to do that manually or use a different tag next time.
 
 === Performing a release
 
 This is done by executing another goal of the `maven-release-plugin`:
 
-   mvn release:perform
+   mvn clean release:perform
+
+NOTE: The clean is only for making sure there is no artifacts in `target` directly, but only in `target/checkout/target`.
 
 This executes automatically as all information it requires is located in the `release.properties` file the `prepare`-goal prepared.
 
 The first step is that the `perform`-goal checks out the previously tagged revision into the root modules `target/checkout` directory.
 Here it automatically executes a maven build (You don't have to do this, it's just that you know what's happening):
 
-   mvn clean deploy -P apache-release
+   mvn deploy -P apache-release
 
 As the `apache-release` profile is also activated, this builds and tests the project as well as creates the JavaDocs, Source packages and signs each of these with your PGP key.
 
@@ -449,6 +453,34 @@ This will make the release artifacts available and will trigger them being copie
 
 This is also the reason why you should wait at least 24 hours before sending out the release notification emails.
 
+=== Going back for a new release candidate
+
+If however for some reason it is needed to prepare a new RC for the release. Please follow these steps:
+
+- Set the versions of the release branch to the previous version by using the `versions:set` plugin:
+
+    mvn versions:set -DprocessAllModules=true -P with-c,with-dotnet,with-go,with-python,with-sandbox
+
+- Delete the tag locally:
+
+    git tag -d v{current-full-version}
+
+- Delete the tag remotely:
+
+    git push --delete origin v{current-full-version}
+
+- Commit all changes
+
+- Drop the staging repo at https://repository.apache.org
+
+- Delete the previous RC in SVN
+
+   svn rm https://dist.apache.org/repos/dist/dev/plc4x/0.9.0/rc1 -m"Removed rc1 of PLC4x 0.9.0"
+
+- Reply to the `VOTE` and the `DISCUSS` announcing the vote has been cancelled and explain why and that you're going to start a new RC soon. Ideally prefix the title of the Emails with `[CANCELLED]`
+
+After this you should be ready to start a new RC.
+
 === Cleaning up older release versions
 
 As a lot of mirrors are serving our releases, it is the Apache policy to clean old releases from the repo if newer versions are released.