[
https://issues.apache.org/jira/browse/OPENNLP-1204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16522252#comment-16522252
]
ASF GitHub Bot commented on OPENNLP-1204:
-----------------------------------------
jzonthemtn closed pull request #49: OPENNLP-1204: Updating release guide.
URL: https://github.com/apache/opennlp-site/pull/49
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
diff --git a/src/main/jbake/content/release.ad
b/src/main/jbake/content/release.ad
index 42b4f182..c543adc5 100644
--- a/src/main/jbake/content/release.ad
+++ b/src/main/jbake/content/release.ad
@@ -14,7 +14,7 @@
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
- under the License.
+ under the License.
////
= Making a release
:jbake-type: page
@@ -22,12 +22,21 @@
:jbake-status: published
:idprefix:
-## One time setup
+## Release Preparation
+
+- Elect a release manager.
+- Create a ticket for a new release in JIRA. If you do not have permission to
do so just ask to be given permissions on the mailing list.
+- Review all of the JIRA issues associated with the release. All issues should
be resolved and closed.
+- Any issues assigned to the release that are not complete should be assigned
to the next release. Any critical or blocker issues should be resolved on the
mailing list. Discuss any issues that you are unsure of on the mailing list.
+
+## Steps for the Release Manager
+
+The following steps need only to be performed once.
- Make sure you have your PGP key entered into https://id.apache.org/.
- Your KEYS will then be present in:
https://people.apache.org/keys/group/opennlp.asc
-- Check if you have your PGP keys password
-- Add your PGP key to the KEYS file
+ Your KEYS will then be present in
https://people.apache.org/keys/group/opennlp.asc.
+- Make sure you have your PGP keys password.
+- Add your PGP key to the KEYS file:
----
Examples of adding your key to this file:
pgp -kxa <your name> and append it to this file.
@@ -40,68 +49,173 @@ Examples of adding your key to this file:
svn co https://dist.apache.org/repos/dist/release/opennlp/
svn commit -m"Added Key for <name>" KEYS
----
-- Create a maven `settings.xml` to publish to `repository.apache.org`
+- Create a maven `settings.xml` to publish to `repository.apache.org`. An
example configuration:
+
+----
+<server>
+ <id>apache.releases.https</id>
+ <username>Your Apache Username</username>
+ <password>Your Apache Password</password>
+</server>
+----
+
+## Release Steps
+
+- Checkout the Apache OpenNLP master branch: `git clone
[email protected]:apache/opennlp.git`
+- Execute a complete test (it can take several hours): `mvn test
-DOPENNLP_DATA_DIR=/path/to/opennlp-test-data/ -Peval-tests`
+- Do a trial build: `mvn package -Papache-release`
+- Prepare the release: `mvn release:prepare` Answer the questions
appropriately. The tag name format should be *opennlp-x.y.z*.
+This command creates and pushes two new commits to the repository to reflect
the version changes. It also tags the release.
+
+### Successful Maven Release Preparation
-## Step-by-Step
+#### Perform the Release
-The following documents the steps which are necessary to make a
-release of Apache OpenNLP.
+Perform the release: `mvn release:perform`
-- Release discussion and release planning on the mailing list
-- Elect a release manager
-- Prepare Jira for the release
-- Crate an empty test plan for the release
-- Make a release candidate
-- Test the candidate according to the test plan and iterate until tests pass
-- Call the release vote on opennlp-dev and on general incubator
+This creates a staged repository at http://repository.apache.org.
+Check the staged repository and if all looks well, close the staging
repository but do *not* promote or release it at this time.
+The build results are in `opennlp/target/checkout/target`. Do not modify or
delete these files.
+
+#### Check the Release Artifacts
+
+Perform basic checks against the release binary:
+
+- Check signature of generated artifacts.
+- Check presence and appropriateness of `LICENSE`, `NOTICE`, and `README`
files.
+
+#### Create a VOTE Thread
+
+- Notify the developer mailing list of a new version vote. Be sure to replace
all values in `[]` with the appropriate values.
+
+Message Subject: [VOTE] Apache OpenNLP [version] Release Candidate
+
+----
+Hi folks,
-## Releasing
+I have posted a [Nth] release candidate for the Apache OpenNLP [version]
release and it is ready for testing.
-The release candidate can be released after a successful release vote on
-the opennlp-dev and incubator general list.
+The distributables can be downloaded from:
+https://repository.apache.org/content/repositories/orgapacheopennlp-[REPO_NUM]/org/apache/opennlp/opennlp-distr/[VERSION]/
-* Release the staging repository. This will make the artifacts available in
the Maven Central repository
+The release was made from the Apache OpenNLP [VERSION] tag at:
+https://github.com/apache/opennlp/tree/opennlp-[VERSION]
+
+To use it in a maven build set the version for opennlp-tools or opennlp-uima
to [VERSION] and add the following URL to your settings.xml file:
+https://repository.apache.org/content/repositories/orgapacheopennlp-[REPO_NUM]
+
+The release was made using the OpenNLP release process, documented on the
website:
+https://opennlp.apache.org/release.html
+
+Please vote on releasing these packages as Apache OpenNLP [VERSION]. The vote
is open for at least the next 72 hours.
+
+Only votes from OpenNLP PMC are binding, but everyone is welcome to check the
release candidate and vote.
+The vote passes if at least three binding +1 votes are cast.
+
+[ ] +1 Release the packages as Apache OpenNLP [VERSION]
+[ ] -1 Do not release the packages because...
+
+Thanks!
+----
+
+## After a Successful Vote
+
+The vote is successful if at least 3 +1 votes are received from OpenNLP PMC
members after a minimum of 72 hours of sending the vote email.
+Acknowledge the voting results on the mailing list in the VOTE thread.
+
+### Release Nexus Staging Repository
+
+Release the staging repository. This will make the artifacts available in the
Maven Central repository.
To do this go to the http://repository.apache.org[repository server], log in,
go to the staging area and release the staging repository linked to this release
-* Upload artifacts to the distribution server by following the steps below.
All release artifacts need to be copied to `/www/www.apache.org/dist/opennlp`
on `people.apache.org`
-** In a local temp folder, svn co
https://dist.apache.org/repos/dist/release/opennlp
-** cd opennlp; mkdir opennlp-{xyz}; cd opennlp-{xyz}
-** wget -e robots=off –no-check-certificate -np -r
https://repository.apache.org/content/groups/public/org/apache/opennlp/opennlp/{xyz}/
-** mv
repository.apache.org/content/groups/public/org/apache/opennlp/opennlp/{xyz}/* .
-** rm -rf repository.apache.org
-** rm index.html
-* On opennlp-site GitHub repository
-** Update the properties `{opennlp.version}` and `{opennlp.next.version}` in
`jbake.properties`
-** Add the following lines at the beginning of `docs/legacy.ad`
-+
+
+### Commit Distribution to SVN
+
+Commit the distribution via SVN to https://dist.apache.org/repos/dist/release:
+
----
-### Apache OpenNLP ${previous.release} documentation
-* link:/docs/${previous.release}/manual/opennlp.html[Apache OpenNLP Manual]
-* link:/docs/${previous.release}/apidocs/opennlp-tools/index.html[Apache
OpenNLP Tools Javadoc]
-* link:/docs/${previous.release}/apidocs/opennlp-uima/index.html[Apache
OpenNLP UIMA Javadoc]
-*
link:/docs/${previous.release}/apidocs/opennlp-brat-annotator/index.html[Apache
OpenNLP BRAT Annotator Javadoc]
-*
link:/docs/${previous.release}/apidocs/opennlp-morfologik-addon/index.html[Apache
OpenNLP Morfologik Addon Javadoc]
+svn co https://dist.apache.org/repos/dist/release/opennlp/ dist
+# check if the KEYS file contains your key, if not, update it
+# copy opennlp/target/checkout/target/apache-opennlp* to dist/opennlp-<VERSION>
+svn commit --username <username>
----
-** Add the following to main/pom.xml
-+
+
+### Update the Website
+
+Update the website once the new version appears in the Apache download mirrors
(keep checking http://www.apache.org/dyn/closer.cgi/opennlp until you see
something):
+
+#### Add New Artifact Item
+
+Add a new artifactItem in the pom.xml for the new OpenNLP release. (This
automatically pulls in the details and javadocs for the new version when the
site is built.):
+
[source,xml,indent=0,subs=attributes+]
----
<artifactItem>
<groupId>org.apache.opennlp</groupId>
<artifactId>opennlp-distr</artifactId>
- <version>${project.version}</version>
+ [version]${project.version}</version>
<overWrite>false</overWrite>
<type>zip</type>
<classifier>bin</classifier>
<outputDirectory>${project.build.directory}/distr/1.8.1</outputDirectory>
</artifactItem>
----
-** Add a news item in `news/release-{xyz}.ad` by copying the content from
OpenNLP project `opennlp-distr/src/README`
-* Rebuild opennlp-site and redeploy the site (if Automatic Buildbot doesn't
kick in)
-* Test and review the website. Test that all download links are working. Test
that the documentation is updated and can be viewed
-* Send out announcements to [email protected], [email protected],
[email protected]
-* Close out the present release in Jira
-It is suggested to use the wiki to plan all tasks for the release
-and to distribute them among the team.
+#### Update Documentation Links
+Move the last version's links to the documentation to the Legacy Documentation
(https://opennlp.apache.org/docs/legacy.html) page. Add the following lines at
the beginning of `docs/legacy.ad`:
+----
+### Apache OpenNLP ${previous.release} documentation
+* link:/docs/${previous.release}/manual/opennlp.html[Apache OpenNLP Manual]
+* link:/docs/${previous.release}/apidocs/opennlp-tools/index.html[Apache
OpenNLP Tools Javadoc]
+* link:/docs/${previous.release}/apidocs/opennlp-uima/index.html[Apache
OpenNLP UIMA Javadoc]
+*
link:/docs/${previous.release}/apidocs/opennlp-brat-annotator/index.html[Apache
OpenNLP BRAT Annotator Javadoc]
+*
link:/docs/${previous.release}/apidocs/opennlp-morfologik-addon/index.html[Apache
OpenNLP Morfologik Addon Javadoc]
+----
+
+#### Update doap_opennlp.rdf
+
+- Update the `doap_opennlp.rdf` file to reflect the new version.
+
+#### Update Properties
+
+- Update the properties `opennlp.version` and `opennlp.next.version` in
`jbake.properties`.
+
+#### Add News Item
+
+- Add a news item in `news/release-{xyz}.ad` by copying the content from
OpenNLP project `opennlp-distr/src/README`.
+
+#### Commit Website Changes.
+
+- Commit the website changes.
+- Rebuild opennlp-site and redeploy the site (if Automatic Buildbot doesn't
kick in)
+- Test and review the website. Test that all download links are working. Test
that the documentation is updated and can be viewed
+
+### Post-Release Steps
+
+- Log the new version at https://reporter.apache.org/addrelease.html?opennlp.
+- Announce the new version on the OpenNLP Twitter.
+- Close the present release ticket in JIRA.
+- Send announcement email to [email protected], [email protected],
[email protected]. This needs to be done from your @apache.org email
address or the email will bounce from the announce list. Gmail forwarding can
help here and is a snap to set up
(http://gmailblog.blogspot.com/2009/07/send-mail-from-another-address-without.html).
It's even easier then the instructions there as it will recognize your email
address and default to Apache settings. It is important to include a
description of what OpenNLP is as well as a link to the updated DOAP within the
release announcement, this is so others know what OpenNLP is.
+
+----
+
+Title: [ANNOUNCE] OpenNLP <version> released
+TO: [email protected], [email protected], [email protected]
+
+The Apache OpenNLP team is pleased to announce the release of version
<version> of Apache OpenNLP. The Apache OpenNLP library is a machine learning
based toolkit for the processing of natural language text. It supports the most
common NLP tasks, such as tokenization, sentence segmentation, part-of-speech
tagging, named entity extraction, chunking, and parsing.
+The OpenNLP <version> binary and source distributions are available for
download from our download page: http://opennlp.apache.org/cgi-bin/download.cgi
+The OpenNLP library is distributed by Maven Central as well. See the Maven
Dependency page for more details:
http://opennlp.apache.org/maven-dependency.html
+
+** TODO UPDATE THIS >>
+This release introduces many new features, improvements and bug fixes. The API
has been improved for a better consistency and deprecated methods were removed.
Now Java 1.8 and Maven 3.3.9 are required.
+Additionally the release contains the following noteworthy changes:
+- change 1
+- change 2
+...
+<< TODO UPDATE THIS **
+A detailed list of the issues related to this release can be found in the
release
+notes.
+For a complete list of fixed bugs and improvements please see the
RELEASE_NOTES file included in the distribution.
+--The Apache OpenNLP Team
+----
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Consolidate release guides
> --------------------------
>
> Key: OPENNLP-1204
> URL: https://issues.apache.org/jira/browse/OPENNLP-1204
> Project: OpenNLP
> Issue Type: Task
> Components: Documentation
> Reporter: Jeff Zemerick
> Assignee: Jeff Zemerick
> Priority: Minor
>
> Consolidate the two release guides into a single one on the website.
> * [https://cwiki.apache.org/confluence/display/OPENNLP/Release+Process]
> * [https://opennlp.apache.org/release.html]
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)