Groovy Uno Release Preparation

From Apache OpenOffice Wiki
Revision as of 15:09, 23 April 2016 by Cmarcum (Talk | contribs)

Jump to: navigation, search

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.

Personal tools