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

mattrpav pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-website.git


The following commit(s) were added to refs/heads/main by this push:
     new 0e897f700 Update the release guide (#184)
0e897f700 is described below

commit 0e897f700031282914dcc0cf9dba02fcaeb73a5b
Author: JB Onofré <[email protected]>
AuthorDate: Mon Aug 3 19:51:10 2026 +0200

    Update the release guide (#184)
    
    * Update the release guide
    
    * Update the release branch naming
---
 .../classic/documentation/release-guide.md         | 288 ++++++++++-----------
 1 file changed, 140 insertions(+), 148 deletions(-)

diff --git a/src/components/classic/documentation/release-guide.md 
b/src/components/classic/documentation/release-guide.md
index 6579719ad..8a326bfc2 100644
--- a/src/components/classic/documentation/release-guide.md
+++ b/src/components/classic/documentation/release-guide.md
@@ -10,11 +10,12 @@ type: classic
 
 How to create and announce an ActiveMQ release. This release is based on 
[General guide for releasing Maven-based project at 
Apache](http://maven.apache.org/developers/release/apache-release.html) , so be 
sure to check it out before continuing and meet all prerequisites.
 
-Maven 2 Setup
+Maven Setup
 -------------
 
-Before you deploy anything to the maven repository using Maven 2, you should 
configure your ~/.m2/settings.xml file  
+Before you deploy anything to the maven repository using Maven, you should 
configure your ~/.m2/settings.xml file  
 so that the file permissions of the deployed artifacts are group writeable. If 
you do not do this, other developers will not able to overwrite your SNAPSHOT 
releases with newer versions.
+
 ```
 <settings>
   ...
@@ -22,41 +23,24 @@ so that the file permissions of the deployed artifacts are 
group writeable. If y
 
     <server>
       <id>apache.snapshots.https</id>
-      <username>dejanb</username>
-    </server>
-    <!\-\- To publish a website of some part of Maven -->
-    <server>
-      <id>apache.website</id>
-      <username>dejanb</username>
-      <filePermissions>664</filePermissions>
-      <directoryPermissions>775</directoryPermissions>
+      <username>user</username>
+      <password>password</password>
     </server>
-    <!\-\- To stage a release of some part of Maven -->
     <server>
       <id>apache.releases.https</id>
-      <username>dejanb</username>
-    </server>
-    <!\-\- To stage a website of some part of Maven -->
-    <server>
-      <id>stagingSite</id> <!-- must match hard-coded repository identifier in 
site:stage-deploy -->
-      <username>dejanb</username>
-      <filePermissions>664</filePermissions>
-      <directoryPermissions>775</directoryPermissions>
+      <username>user</username>
+      <password>password</password>
     </server>
 
   </servers>
   ...
 </settings>
 ```
-It is also essential that you configure your umask to 2 on people.apache.org 
for non-interactive login. If your shell is tcsh you can edit .cshrc to include
-
-umask 2
-
-Other shell initialization files may interfere with this setting but if this 
is the only umask setting it appears to work. Instructions for other shells 
would be welcome.
 
 ### Additional local configuration for using release and staging plugins.
 
 To effectively use the release and staging plugins you need some information 
about where the staging will happen and signing information for gpg. Your 
~/.m2/settings.xml should contain a profile like this:
+
 ```
 <settings>
     <profiles>
@@ -74,131 +58,139 @@ To effectively use the release and staging plugins you 
need some information abo
 Creating the ActiveMQ Release
 -----------------------------
 
-The release plugin will prompt for a release version, tag and next release 
version. Use a three digit release version of the form: 5.x.x and for the tag 
use a string of the form: activemq-5.x.x. The next version string should use 
the two digit from: 5.x-SNAPSHOT as this can be consistent for future SNAPSHOT 
releases.
-
-1.  Verify the to-be-released version identifier exists in the 
[META-INF/spring.schemas](https://git-wip-us.apache.org/repos/asf?p=activemq.git;a=blob;f=activemq-spring/src/main/resources/META-INF/spring.schemas;hb=HEAD)
 mappings file AND 
[activemq-osgi/src/main/resources/META-INF/spring.schemas](https://git-wip-us.apache.org/repos/asf?p=activemq.git;a=blob;f=activemq-osgi/src/main/resources/META-INF/spring.schemas;hb=HEAD)
 file, if not add it and commit. It should contain:
-    ```
-    
http://activemq.apache.org/schema/core/activemq-core-${pom.version}.xsd=activemq.xsd
-    ```
-2.  Verify headers with 
[rat](http://incubator.apache.org/rat/apache-rat-plugin/usage.html)
-    ```
-    mvn -e apache-rat:check
-    grep -e ' !?????' target/rat.txt -- will show any files without licenses
-    ```
-3.  Do a release dry run to check for problems
-    ```
-    mvn release:prepare -DdryRun=true
-    ```
-    Check that you are happy with the results. The poms for the proposed tags 
will be in pom.xml.tag. When you like the results, clean up:
-    ```
-    mvn release:clean
-    ```
-4.  Prepare the release
-    ```
-    mvn release:prepare
-    ```
-    This will create the tag in git and leave various stuff around locally to 
direct the perform phase.
-    
-5.  Make a local copy of the release configuration in case something goes wrong
-    ```
-    cd ..
-    cp -r activemq-release activemq-release-prepared
-    cd activemq-release
-    ```
-6.  Perform the release to the staging repo
-    ```
-    mvn release:perform
-    ```
-    This uses both the activemq release profile which directs building source 
jars, javadoc jars, and signing everything, and also the settings release 
profile that says where to  
-    put stuff and how to sign it.
-    
-7.  Close the staging repository  
-    Quote from the [Maven release guide for Apache 
projects](http://maven.apache.org/developers/release/apache-release.html)
-    
-    > Login to [https://repository.apache.org](https://repository.apache.org) 
using your Apache LDAP credentials. Click on "Staging". Then click on "maven" 
in the list of repositories. In the panel below you should see an open 
repository that is linked to your username and ip. Right click on this 
repository and select "Close". This will close the repository from future 
deployments and make it available for others to view. If you are staging 
multiple releases together, skip this step unti [...]
-    
-    See the image in the original guide for more info.
-8.  Verify staged artifacts  
-    Quote from the [original 
guide](http://maven.apache.org/developers/release/apache-release.html)
-    
-    > If you click on your repository, a tree view will appear below. You can 
then browse the contents to ensure the artifacts are as you expect them. Pay 
particular attention to the existence of *.asc (signature) files. If the you 
don't like the content of the repository, right click your repository and 
choose "Drop". You can then rollback your release and repeat the process.  
-    > Note the repository URL, you will need this in your vote email.
-    
-9.  Build the site from the tag that release:perform checked out into 
target/checkout in the previous step.  
-    Note that the -Prelease profile is needed to specify the profile in 
settings.xml that configures the staging location.
-    ```
-    cd target/checkout
-    mvn site -Prelease
-    ```
-10.  Populate the Javadocs site in svn
-    ```
-    svn co 
https://svn.apache.org/repos/infra/websites/production/activemq/content
-    cd content/maven
-    mkdir <version>
-    #copy over apidocs folder that was created by the site plugin to 
<version>/apidocs
-    svn add <version>
-    svn rm apidocs
-    ln -s <version>/apidocs apidocs
-    svn add apidocs
-    # and commit once it looks good.
-    ```
-11.  Stage the official release artifacts in the SVN dist dev area for folks 
to test and vote on, using the helper script already in the repo:
-    ```
-    svn co https://dist.apache.org/repos/dist/dev/activemq/activemq/
-    cd activemq
-    ./prepare-release.sh <nexus-staging-repo-url> <version>
-    # Example: ./prepare-release.sh 
https://repository.apache.org/content/repositories/orgapacheactivemq-1149 5.15.1
-    svn add <version>
-    ```
-    and commit once it looks good.
-    
-12.  Call a vote on the dev list, listing the great new features of the 
release.
+If the release is the first one on a new series, you might want to create a 
branch for the series:
+
+```
+git branch activemq-a.b.x main
+git push origin activemq-a.b.x
+```
+
+1. As ActiveMQ protects branches, you have to create a release branch based on 
the branch you want to release:
+
+```
+git branch release/a.b.c activemq-a.b.x
+git push origin release/a.b.c
+```
+
+2. [Optional] You can do a verification build on the `activemq-a.b.c` branch:
+
+```
+mvn verify
+```
+
+Especially, it should not complain about missing license header (rat) and the 
build should pass without error.
+
+3. You can now go on the release branch and prepare the release:
+
+```
+git checkout release/a.b.c
+mvn release:prepare -Papache-release,deploy
+```
+
+This create the RC tag.
+
+4. Now we can stage the release:
+
+```
+mvn release:perform -Papache-release,deploy
+```
+
+It creates a staging repository on Nexus (https://repository.apache.org).
+
+5. You can close the staging repository on Nexus. Go on 
https://repository.apache.org, in the Staging Repositories menu and close the 
ActiveMQ staging repository.
+
+6. Now, you can stage the release artifacts on Dist:
+
+```
+svn co https://dist.apache.org/repos/dist/dev/activemq/activemq
+cd activemq
+./prepare-release.sh <nexus-staging-repo-url> <version>
+svn add <version>
+svn commit
+```
+
+7. Create the pre-release on GitHub 
(https://github.com/apache/activemq/releases/new) using the corresponding tags 
and using "Apache ActiveMQ a.b.c" as release title.
+
+8. Call a vote on the dev mailing list, with this template:
+
+```
+Subject: [VOTE] Apache ActiveMQ 6.2.7 release (rcN)
+
+Hi everyone,
+
+I propose Apache ActiveMQ a.b.c (rcN) release for your vote.
+
+This release includes:
+- ...
+
+You can review the Pre-Release Notes for details:
+https://github.com/apache/activemq/releases/tag/activemq-a.b.c
+
+Staging Maven Repository:
+https://repository.apache.org/content/repositories/orgapacheactivemq-xxxx/
+
+Staging Dist Repository:
+https://dist.apache.org/repos/dist/dev/activemq/activemq/a.b.c/
+
+Git tag:
+https://github.com/apache/activemq/tree/activemq-a.b.c
+
+Please vote to approve this release:
+[ ] +1 Approve the release
+[ ] 0 I don't care
+[ ] -1 Don't approve the release (please provide specific comment)
+
+This vote will be open for at least 72 hours.
+
+Thanks!
+Regards
+```
 
 After the vote passes
 ---------------------
 
-1.  Promote the release (i.e. release the staging repository): login 
to[https://repository.apache.org](https://repository.apache.org/), navigate to 
the staging repository and click the "release" button. 
-2.  Copy the staged release files from the SVN dist dev folder to the SVN dist 
release folder: 
[https://dist.apache.org/repos/dist/release/activemq/](https://dist.apache.org/repos/dist/release/activemq/)
-    ```
-    svn cp -m "add files for activemq-<version>" 
https://dist.apache.org/repos/dist/dev/activemq/activemq/<version> 
https://dist.apache.org/repos/dist/release/activemq/<version>
-    # Example: svn cp -m "add files for activemq-5.15.1" 
https://dist.apache.org/repos/dist/dev/activemq/activemq/5.15.1 
https://dist.apache.org/repos/dist/release/activemq/5.15.1
-    ```
-3.  Populate the schema site in svn
-    ```
-    svn co 
https://svn.apache.org/repos/infra/websites/production/activemq/content
-    cd content/schema/core
-    curl --remote-name-all 
https://repository.apache.org/content/repositories/releases/org/apache/activemq/activemq-spring/<version>/activemq-spring-<version>{-schema.html,.xsd}{.asc,.asc.md5,.asc.sha1,.sha1,.md5,}
-    for i in activemq-spring-5.9.0*; do mv -- "$i" "${i//spring/core}"; done;
-    svn add activemq-core-5.9.0*
-    svn rm activemq-core.xsd
-    ln -s activemq-core-5.9.0.xsd activemq-core.xsd
-    svn add activemq-core.xsd
-    # and commit once it looks good.
-    ```    
-4.  Continue with the Announcing section below
-5.  Created a in progress wiki page for the next release
-6.  Remove any releases from the dist site that are no longer supported and 
update the wiki page for that release to point to the archives for downloads.
-
-Announcing the ActiveMQ Release
--------------------------------
-
-1.  Perform a release in JIRA and create a new release version in JIRA.
-    1.  Move unresolved issues to the next release first, in a bulk (do not 
send email) update
-    2.  You might also want to search for resolved/closed issues with no fix 
version just in case   
-2.  Create a download page for the realease by adding a file in 
`src/_releases/` and name the file with its version converted to an integer - 
for example the file for 5.16.1 should be name `activemq-5016001-release.md`. 
The Front Matter must include `version`, `release_notes`, `release_date`, and 
`title`. For example, this might be an expected content based on the 5.16.1 
release:
-    ```
-    ---
-    version: 5.16.1
-    release_notes: 
https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311210&version=12347027
-    release_date: Jan 20, 2021
-    title: ActiveMQ 5.16.1 Release 
-    ---
-    Apache ActiveMQ {{ page.version }} was released on {{ page.release_date 
}}. It fully supports JDK 9+ at runtime and includes several resolved 
[issues]({{ page.release_notes }}) and bug fixes.
-    ``` 
-3. If necessary, update the current versions by editing the `5x` list in 
`src/_data/current_releases.yml`. The latest patch release published in 
`src/_releases/` for the major.minor versions in the list will automatically be 
included on the [download 
page](https://activemq.apache.org/components/classic/download/).
-4.  Update the [Xml Reference](xml-reference) page with a link to the HTML and 
XSD
-7.  Update [QuickLinks](quicklinks) and [JavaDocs](docs) pages
-8.  Mail the [dev](mailto:[email protected]) & 
[user](mailto:[email protected]) lists
-9.  
[Post](http://cwiki.apache.org/confluence/pages/viewrecentblogposts.action?key=ACTIVEMQ)
 a news entry on the WIKI
-10.  tweet
-11.  Have a beer!
+1. Promote the release on Nexus (https://repository.apache.org).
+
+2. Promote the release on Dist:
+
+```
+svn mv https://dist.apache.org/repos/dist/dev/activemq/activemq/<version> 
https://dist.apache.org/repos/dist/release/activemq/
+```
+
+3. Change the release on GitHub removing the pre-release tag 
(https://github.com/apache/activemq/releases/edit/activemq-a.b.c).
+
+4. Update the website with release:
+
+```
+git clone https://github.com/apache/activemq-website
+cd activemq-website/src/_classic_releases
+vi classic-0a-0b-0c.md
+git add
+git commit -a
+git push
+```
+
+5. Announce the release on the dev mailing list and [email protected]:
+
+```
+Subject: [ANNOUNCE] Apache ActiveMQ a.b.c has been released!
+
+The ActiveMQ team is pleased to announce the Apache ActiveMQ a.b.c release.
+
+<Quickly describe the release>
+
+You view find the details on the Release page:
+https://activemq.apache.org/components/classic/download/classic-0a-0b-0c
+
+And also more details on the Release Notes:
+https://github.com/apache/activemq/releases/tag/activemq-a.b.c
+
+You can download ActiveMQ a.b.c here:
+https://activemq.apache.org/components/classic/download/
+
+Enjoy!
+
+Regards
+--
+The Apache ActiveMQ team
+```


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to