Difference between revisions of "Groovy Uno Release Preparation"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (Prepare Archives For Distribution)
(removed under construction)
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
__TOC__
 
__TOC__
== This is in progress ==
 
Under Construction
 
 
 
== Overview ==
 
== 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.4-rc2-r1740035
+
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 ==
 
== Create a Release Branch ==
Line 10: Line 7:
 
Future maintenance builds should be released from this same branch.
 
Future maintenance builds should be released from this same branch.
  
Example prepared for 0.1.4 (first release)
+
Example prepared for 0.1.x (first release)
 
<source lang="bash">
 
<source lang="bash">
 
svn copy https://svn.apache.org/repos/asf/openoffice/devtools/guno-extension/trunk \
 
svn copy https://svn.apache.org/repos/asf/openoffice/devtools/guno-extension/trunk \
Line 19: Line 16:
 
== Checkout Release Branch From SVN ==
 
== Checkout Release Branch From SVN ==
 
<source lang="bash">
 
<source lang="bash">
svn checkout https://svn.apache.org/repos/asf/openoffice/devtools/guno-extension/branches/0.1/ guno-extension-0.1.4
+
svn checkout https://svn.apache.org/repos/asf/openoffice/devtools/guno-extension/branches/0.1/ guno-extension-0.1
 
</source>
 
</source>
  
 
== Prepare Archives For Distribution ==
 
== Prepare Archives For Distribution ==
Copy guno-extension directory to a temporary location. (Example ~/tmp/)
+
Copy the guno-extension-0.1 directory to a temporary location and rename guno-extension-0.1.5 (Example ~/tmp/)
 
<source lang="bash">
 
<source lang="bash">
cp ./guno-extension-0.1.4 ~/tmp/
+
cp -R -i ./guno-extension-0.1 ~/tmp/guno-extension-0.1.5
 
</source>
 
</source>
  
If you have built the project, delete any Gradle and/or IDE generated files and the .gradle and .svn directories.
+
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.4"
+
Create a zip and tar.gz archives containing the project directory "guno-extension-0.1.5"
 
named<br />
 
named<br />
guno-extension-0.1.4-r1740035-src.zip & guno-extension-0.1.4-r1740035-src.tar.gz
+
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.
 
Place these files in a new directory (ex. ~/tmp/upload/) and cd into this directory.
Line 41: Line 38:
 
</source>
 
</source>
  
Next create and detached ascii armored detached signiture.
+
Next create a detached ascii armored detached signiture.
  
 
If you have more than one key
 
If you have more than one key
 
<source lang="bash">
 
<source lang="bash">
gpg -ab --default-key 9553BF9A guno-extension-0.1.4-r1740035-src.zip
+
gpg -ab --default-key YOURKEYID guno-extension-0.1.5-r1740645-src.zip
gpg -ab --default-key 9553BF9A guno-extension-0.1.4-r1740035-src.tar.gz
+
gpg -ab --default-key YOURKEYID guno-extension-0.1.5-r1740645-src.tar.gz
 
</source>
 
</source>
 
Or if you only have one key
 
Or if you only have one key
 
<source lang="bash">
 
<source lang="bash">
gpg -ab guno-extension-0.1.4-r1740035-src.zip
+
gpg -ab guno-extension-0.1.5-r1740645-src.zip
gpg -ab guno-extension-0.1.4-r1740035-src.tar.gz
+
gpg -ab guno-extension-0.1.5-r1740645-src.tar.gz
 
</source>
 
</source>
  
 
Create the md5 Hashes
 
Create the md5 Hashes
 
<source lang="bash">
 
<source lang="bash">
md5sum guno-extension-0.1.4-r1740035-src.zip > guno-extension-0.1.4-r1740035-src.zip.md5
+
md5sum guno-extension-0.1.5-r1740645-src.zip > guno-extension-0.1.5-r1740645-src.zip.md5
md5sum guno-extension-0.1.4-r1740035-src.tar.gz > guno-extension-0.1.4-r1740035-src.tar.gz.md5
+
md5sum guno-extension-0.1.5-r1740645-src.tar.gz > guno-extension-0.1.5-r1740645-src.tar.gz.md5
 
</source>
 
</source>
  
 
Verify the Signatures and Checksums
 
Verify the Signatures and Checksums
 
<source lang="bash">
 
<source lang="bash">
gpg --verify guno-extension-0.1.4-r1740035-src.zip.asc
+
gpg --verify guno-extension-0.1.5-r1740645-src.zip.asc
gpg --verify guno-extension-0.1.4-r1740035-src.tar.gz.asc
+
gpg --verify guno-extension-0.1.5-r1740645-src.tar.gz.asc
md5sum --check guno-extension-0.1.4-r1740035-src.zip.md5
+
md5sum --check guno-extension-0.1.5-r1740645-src.zip.md5
md5sum --check guno-extension-0.1.4-r1740035-src.tar.gz.md5
+
md5sum --check guno-extension-0.1.5-r1740645-src.tar.gz.md5
 
</source>
 
</source>
  
 
Stage the Source Release Candidate to:
 
Stage the Source Release Candidate to:
  
https://dist.apache.org/repos/dist/dev/openoffice/devtools/guno-extension-0.1.4-rc2-r1740035/
+
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 ..)
 
Move up one directory level above upload directory (cd ..)
Line 76: Line 73:
 
This SVN import will include the contents of "upload" directory but not the directory itself.
 
This SVN import will include the contents of "upload" directory but not the directory itself.
 
<source lang="bash">
 
<source lang="bash">
svn import upload https://dist.apache.org/repos/dist/dev/openoffice/devtools/guno-extension-0.1.4-rc2-r1740035 -m "upload of guno-extension-0.1.4-rc2"
+
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"
 
</source>
 
</source>
  
== Build and Upload the Artifacts to Apache Nexus ==
+
== 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)
 +
<source lang="bash">
 +
gradle uploadArchives
 +
</source>
 +
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/ 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 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<br />
 +
and binaries made available from Maven via Apache Nexus.
 +
 
 +
Source packages for RC1 are available at:<br />
 +
https://dist.apache.org/repos/dist/dev/openoffice/devtools/<br />
 +
and the reference revision is r1740645.
 +
 
 +
Binary Maven packages are staged here:<br />
 +
https://repository.apache.org/content/repositories/orgapacheopenoffice-1021/
 +
 
 +
Please review the release testing instruction wiki page:<br />
 +
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.
  
[https://repository.apache.org/ https://repository.apache.org/]
+
So please VOTE on releasing RC1 (as defined above) as Groovy UNO Extension 0.1.5:<br />
 +
[  ] +1 Approve<br />
 +
[  ]  0 Abstain<br />
 +
] -1 Disapprove, with explanation<br />
  
  
 
[[Category:API]]
 
[[Category:API]]

Latest revision as of 15:35, 23 April 2016

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

Personal tools