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

hansva pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-hop-docs.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 41f6c86  Add release documentation
     new fe5a833  Merge pull request #25 from hansva/release_docs
41f6c86 is described below

commit 41f6c86eebad0debc6e8b52662fe85b5d5ff9d12
Author: Hans Van Akelyen <[email protected]>
AuthorDate: Thu Dec 24 14:58:14 2020 +0100

    Add release documentation
---
 hop-dev-manual/modules/ROOT/nav.adoc               |   1 +
 .../modules/ROOT/pages/creating-a-release.adoc     | 174 +++++++++++++++++++++
 2 files changed, 175 insertions(+)

diff --git a/hop-dev-manual/modules/ROOT/nav.adoc 
b/hop-dev-manual/modules/ROOT/nav.adoc
index 6d64e87..8d890f1 100644
--- a/hop-dev-manual/modules/ROOT/nav.adoc
+++ b/hop-dev-manual/modules/ROOT/nav.adoc
@@ -4,6 +4,7 @@
 * xref:setup-dev-environment.adoc[Setting up your development environment]
 * xref:integration-testing.adoc[Integration testing]
 * xref:plugin-development.adoc[Plugins Development]
+* xref:creating-a-release.adoc[Creating a Release]
 ** xref:start-your-own-plugin.adoc[Creating your own plugin]
 * xref:webhop/index.adoc[Webhop]
 ** xref:webhop/developer-guide.adoc[Webhop Developer Guide]
\ No newline at end of file
diff --git a/hop-dev-manual/modules/ROOT/pages/creating-a-release.adoc 
b/hop-dev-manual/modules/ROOT/pages/creating-a-release.adoc
new file mode 100644
index 0000000..1660e99
--- /dev/null
+++ b/hop-dev-manual/modules/ROOT/pages/creating-a-release.adoc
@@ -0,0 +1,174 @@
+[[CreatingARelease]]
+= Creating a release
+
+This document will include the steps needed to be taken by the release manager 
to create a successful release candidate.
+
+== Creating a release branch
+
+first step is to create a new release branch.
+The branch must follow following naming pattern `releaseX.XX` where `X.XX` is 
the release version number.
+
+In this example upstream is the apache/incubator-hop github repository
+
+[source,bash]
+----
+git branch releaseX.XX upstream/master
+git checkout releaseX.XX
+git push upstream releaseX.XX:releaseX.XX
+----
+
+== update the version of the poms
+
+[source,bash]
+----
+mvn versions:set -DnewVersion=X.XX -DgenerateBackupPoms=false
+----
+
+== commit the changed version and add tag
+
+Next up checking in the changes and adding a release tag.
+
+[source,bash]
+----
+git add .
+git commit -m 'Create release version x.xx'
+git push upstream releaseX.XX:releaseX.XX
+
+git tag -a X.XX-rcX
+git push upstream tag X.XX-rcX
+----
+
+== Creating the release artifacts
+
+Checkout the tag to a clean folder to avoid files that are ignored by git and 
remove the git folder.
+Next up is creating the tar.gz file
+
+[source,bash]
+----
+git clone --depth 1 --branch X.XX-rcX 
https://github.com/apache/incubator-hop.git apache-hop-X.XX-incubating
+rm -rf apache-hop-X.XX-incubating/.git
+tar -czvf apache-hop-X.XX-incubating-rcX.tar.gz apache-hop-X.XX-incubating
+----
+
+== Sign the artifacts
+
+This part assumes you already have created and registered keys to sign the 
artifacts, for more information on creating and adding your keys see 
<<CreatingAKey,here>>
+
+[source,bash]
+----
+gpg --armor --default-key [email protected] --output 
apache-hop-X.XX-incubating-rcX.tar.gz.asc --detach-sig 
apache-hop-X.XX-incubating-rcX.tar.gz
+sha512sum apache-hop-X.XX-incubating-rcX.tar.gz > 
apache-hop-X.XX-incubating-rcX.tar.gz.sha512
+----
+
+== Staging the files
+
+First step is to check out the SVN directory, and create a new directory
+
+[source,bash]
+----
+svn co https://dist.apache.org/repos/dist/dev/incubator/hop hop_release
+cd hop_release
+svn mkdir apache-hop-x.xx-incubating-rcx
+----
+
+Now copy over the following files in this new directory
+
+----
+apache-hop-X.XX-incubating-rcX.tar.gz.sha512
+apache-hop-X.XX-incubating-rcX.tar.gz.asc
+apache-hop-X.XX-incubating-rcX.tar.gz
+----
+
+Final checks before adding these files
+
+- check chekcsum
+- check pgp signature
+
+[source,bash]
+----
+cd apache-hop-x.xx-incubating-rcx
+gpg --verify apache-hop-X.XX-incubating-rcX.tar.gz.asc
+sha512sum -c apache-hop-X.XX-incubating-rcX.tar.gz.sha512
+----
+
+Add and commit the files to svn
+
+[source,bash]
+----
+svn add *
+svn status
+svn commit -m 'Add release files for Apache hop X.XX-rcX'
+----
+
+Check if the files are uploaded 
https://dist.apache.org/repos/dist/dev/incubator/hop/[here]
+
+
+== Send mail to dev list to announce new release candidate
+
+Mail Template
+
+----
+Subject: [VOTE] Release Apache Hop (incubating) X.XX-rcX
+TO: [email protected]
+
+Hi All,
+
+<INCLUDE SOME TEXT>
+
+Build instructions can be found in the README included.
+
+The tag to be voted on is X.XX-rcX <REPLACE TAG> (commit <COMMIT HASH>):
+<URL TO TAG COMMIT>
+
+The release files, including signatures, digests, etc. can be found at:
+<INCLUDE URL TO DIST RC FOLDER>
+https://dist.apache.org/repos/dist/dev/incubator/hop/apache-hop-X.XX-incubating-rcX/
+
+The SHA512 Checksum for these artifacts is:
+<INCLUDE CHECKSUM FROM SHA512 file>
+
+Release artifacts are signed with the following key:
+<ADD URL TO YOUR KEY ON A PUBLIC KEYSERVER>
+
+For more information about the contents of this release, see:
+<ADD URL TO RELEASE IN JIRA>
+
+Please vote on releasing this package as Apache Hop 0.50!
+
+The vote is open for 72 hours and passes if
+a majority of at least 3 +1 PMC votes are cast.
+
+[ ] +1 Release this package as Apache Hop 0.50
+[ ] +0 No opinion
+[ ] -1 Do not release this package because ...
+
+Best Regards,
+<YOUR NAME>
+
+----
+
+
+== [[CreatingAKey]]Creating a key
+
+To generate and publish a key follow these steps, it is recommended to use 
your apache email as key alias.
+
+[source,bash]
+----
+gpg --gen-key
+gpg -k <username>@apache.org
+# get the ID from your piub
+gpg --send-keys --keyserver php.mit.edu <KEY ID>
+gpg --send-keys --keyserver keyserver.ubuntu.com <KEY ID>
+----
+
+
+Next step is to add your key to the key file in the Apache SVN repository.
+
+[source,bash]
+----
+svn co https://dist.apache.org/repos/dist/dev/incubator/hop hop_release
+cd hop_release
+gpg --list-sigs <keyID> >> KEYS
+gpg  --armor --export <keyID> >> KEYS
+svn commit -m "added new public key to KEYS file"
+----

Reply via email to