Groovy Uno Release Preparation
This is in progress
Under Construction
Overview
This page is to document the release candidate preparation procedure for a Groovy UNO Extension release candidate. For information on the extension see the Groovy_UNO_Extension wiki page. The current release candidate is guno-extension-0.1.5-rc1-r1740645
Create a Release Branch
If releasing a new major.minor release, create a new release branch in SVN. Future maintenance builds should be released from this same branch.
Example prepared for 0.1.x (first release)
svn copy https://svn.apache.org/repos/asf/openoffice/devtools/guno-extension/trunk \
https://svn.apache.org/repos/asf/openoffice/devtools/guno-extension/branches/0.1 \
-m "created 0.1 release branch"
Checkout Release Branch From SVN
svn checkout https://svn.apache.org/repos/asf/openoffice/devtools/guno-extension/branches/0.1/ guno-extension-0.1
Prepare Archives For Distribution
Copy the guno-extension-0.1 directory to a temporary location and rename guno-extension-0.1.5 (Example ~/tmp/)
cp -R -i ./guno-extension-0.1 ~/tmp/guno-extension-0.1.5
Delete any Gradle and/or IDE generated files and the .gradle and .svn directories.
Create a zip and tar.gz archives containing the project directory "guno-extension-0.1.5"
named
guno-extension-0.1.5-r1740645-src.zip & guno-extension-0.1.5-r1740645-src.tar.gz
Place these files in a new directory (ex. ~/tmp/upload/) and cd into this directory.
PGP Sign the Archives
You can check your key id's
gpg --list-keys
Next create a detached ascii armored detached signiture.
If you have more than one key
gpg -ab --default-key YOURKEYID guno-extension-0.1.5-r1740645-src.zip
gpg -ab --default-key YOURKEYID guno-extension-0.1.5-r1740645-src.tar.gz
Or if you only have one key
gpg -ab guno-extension-0.1.5-r1740645-src.zip
gpg -ab guno-extension-0.1.5-r1740645-src.tar.gz
Create the md5 Hashes
md5sum guno-extension-0.1.5-r1740645-src.zip > guno-extension-0.1.5-r1740645-src.zip.md5
md5sum guno-extension-0.1.5-r1740645-src.tar.gz > guno-extension-0.1.5-r1740645-src.tar.gz.md5
Verify the Signatures and Checksums
gpg --verify guno-extension-0.1.5-r1740645-src.zip.asc
gpg --verify guno-extension-0.1.5-r1740645-src.tar.gz.asc
md5sum --check guno-extension-0.1.5-r1740645-src.zip.md5
md5sum --check guno-extension-0.1.5-r1740645-src.tar.gz.md5
Stage the Source Release Candidate to:
https://dist.apache.org/repos/dist/dev/openoffice/devtools/guno-extension-0.1.5-rc1-r1740645/
Move up one directory level above upload directory (cd ..)
This SVN import will include the contents of "upload" directory but not the directory itself.
svn import upload https://dist.apache.org/repos/dist/dev/openoffice/devtools/guno-extension-0.1.5-rc1-r1740645 -m "upload of guno-extension-0.1.5-rc1"
Stage Build Artifacts to Apache Nexus
Setup Build Properties
The build.gradle file uses the uploadArchives task to sign and upload Maven artifacts. The url in the build file is set for the Apache Nexus repository staging area.
The build file will use variables set the <project>/gradle.properties file. This file contains the sample values needed. In your temp copy of the project edit this file and replace the sample values with your information. The values needed are the location of your PGP keyring, keyring password, and Apache Nexus login which is your Apache id and password.
For a more permanent solution you can edit ~/.gradle.properties instead. This will override local project properties.
Upload Maven Artifacts
From the temp project directory (~/tmp/guno-extension-0.1.5)
gradle uploadArchives
You may get a "Could not find metadata org.openoffice:guno-extension/maven-metadata.xml in remote (https://repository.apache.org/service/local/staging/deploy/maven2/)".
This is informational and not an error as long as you also get BUILD SUCCESSFUL.
Close the Repo
In your web browser go to https://repository.apache.org/ and login with your Apache login.
Locate the Repository
Go to Build Promotion > Staging Repositories The staging repo name will be orgapacheopenoffice-XXXX. The status will be "open" and the description will be "Implicitly created (auto staging)". Other OpenOffice tools use this staging area so select the repository and check the contents to ensure this is the correct one if in doubt.
Close the Repoository
When closing the repository Nexus will perform rules checking that include signature and checksum validations.
Select the checkbox and Close the repo. When prompted for a description add "Groovy UNO Extension 0.1.5" After a few moments select Refresh from the menu to see the update.
Take note of the URL listed in the Summary tab that you will need for the test script and the VOTE email.
https://repository.apache.org/content/repositories/orgapacheopenoffice-1021/
In case of an unsuccessful vote or other reason you can Drop the repository and it will be removed.
Update the Test Script
The test script is stored attached to an AOO Bugzilla issue for the extension https://bz.apache.org/ooo/show_bug.cgi?id=126770.
For a major.minor.maintanence release download and edit the script for the staging repo URL near the begining and the guno-extension version in the dependencies section.
Attach the script to the issue and obsolete the old one.
Start the VOTE E-Mail Thread
Example email for dev@
Subject: [VOTE] Release Groovy UNO Extension 0.1.5-RC1
This is for a source release of Groovy UNO Extension 0.1.5 from Apache OpenOffice
and binaries made available from Maven via Apache Nexus.
Source packages for RC1 are available at:
https://dist.apache.org/repos/dist/dev/openoffice/devtools/
and the reference revision is r1740645.
Binary Maven packages are staged here:
https://repository.apache.org/content/repositories/orgapacheopenoffice-1021/
Please review the release testing instruction wiki page:
https://wiki.openoffice.org/wiki/Groovy_Uno_Release_Testing
The [VOTE] will conclude no sooner than Thursday 28 April, 14:00 UTC.
Please do not do anything but [VOTE] (with any -1 explanation) on this thread.
To discuss this vote or the process, please use a [DISCUSS][VOTE] reply rather than discussing on the [VOTE] thread.
3 binding +1 votes and a simple majority of votes are necessary for approval.
So please VOTE on releasing RC1 (as defined above) as Groovy UNO Extension 0.1.5:
[ ] +1 Approve
[ ] 0 Abstain
[ ] -1 Disapprove, with explanation