You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hop.apache.org by ha...@apache.org on 2020/12/26 16:20:04 UTC

[incubator-hop-docs] branch asf-site updated: Write checklist

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 454b274  Write checklist
     new 7645b34  Merge pull request #28 from hansva/release_docs
454b274 is described below

commit 454b274a7b2b4f2af2129cf66f730bd739c4b652
Author: Hans Van Akelyen <ha...@gmail.com>
AuthorDate: Sat Dec 26 17:19:22 2020 +0100

    Write checklist
---
 hop-dev-manual/modules/ROOT/nav.adoc               |   4 +-
 .../pages/apache-release/checking-a-release.adoc   | 126 +++++++++++++++++++++
 .../{ => apache-release}/creating-a-release.adoc   |   0
 .../modules/ROOT/pages/apache-release/index.adoc   |   5 +
 4 files changed, 134 insertions(+), 1 deletion(-)

diff --git a/hop-dev-manual/modules/ROOT/nav.adoc b/hop-dev-manual/modules/ROOT/nav.adoc
index b4ac1f6..9a8aab6 100644
--- a/hop-dev-manual/modules/ROOT/nav.adoc
+++ b/hop-dev-manual/modules/ROOT/nav.adoc
@@ -5,6 +5,8 @@
 * xref:integration-testing.adoc[Integration testing]
 * xref:plugin-development.adoc[Plugins Development]
 ** xref:start-your-own-plugin.adoc[Creating your own plugin]
-* xref:creating-a-release.adoc[Creating a Release]
+* xref:apache-release/index.adoc[Apache Release Process]
+** xref:apache-release/creating-a-release.adoc[Creating a Release]
+** xref:apache-release/checking-a-release.adoc[Checking a Release]
 * xref:webhop/index.adoc[Hop Web]
 ** xref:webhop/developer-guide.adoc[Webhop Developer Guide]
\ No newline at end of file
diff --git a/hop-dev-manual/modules/ROOT/pages/apache-release/checking-a-release.adoc b/hop-dev-manual/modules/ROOT/pages/apache-release/checking-a-release.adoc
new file mode 100644
index 0000000..165c5fe
--- /dev/null
+++ b/hop-dev-manual/modules/ROOT/pages/apache-release/checking-a-release.adoc
@@ -0,0 +1,126 @@
+[[CheckingARelease]]
+= Checking a Release
+
+After the release manager creates a release as described in xref:apache-release/creating-a-release.adoc[Creating a Release] the voting process starts. This guide will contain some steps you can take to validate a release candidate and base your vote on. Each member will have his own way to check some parts of a release. There is no general rule on how to check a release, there is only a list on what has to be checked this list can be found in the https://www.apache.org/legal/release-poli [...]
+
+== Possible checks that can be followed (Linux)
+
+Start by grabbing the artifacts mentioned in the vote mail. Either use the link provided in the mail or grab them https://dist.apache.org/repos/dist/dev/incubator/hop/[here].
+
+In these examples a folder to check everything in was created in `/tmp` and the artifacts are already in place.
+
+[source,bash]
+----
+mkdir /tmp/release_check
+----
+
+First check would be to see if the keys and hashes are in order
+
+[source,bash]
+----
+# check the sha512
+
+sha512sum -c apache-hop-X.XX-incubating-rcX.tar.gz.sha512
+
+# should echo the artifact name and OK
+
+# check the gpg signature
+
+gpg --verify apache-hop-X.XX-incubating-rcX.tar.gz.asc
+
+# if it prints out gpg: Can't check signature: No public key fetch the key from public keyserver
+# 1. Check if the keyid matches a known key in the KEYS file https://dist.apache.org/repos/dist/dev/incubator/hop/KEYS
+# 2. grab the key from the public keyserver found in the release mail
+
+gpg --keyserver <KEY SERVER>  --receive-keys <KEY ID>
+
+# verify the package again
+
+gpg --verify apache-hop-X.XX-incubating-rcX.tar.gz.asc
+
+# output should be:
+# gpg: Good signature from "Owner Name <Ow...@apache.org>" [ultimate]
+
+----
+
+If these steps pass we can start checking the content of the release.
+First step would be to download the matching source code from github.
+
+[source,bash]
+----
+# replace branch with the branch name mentioned in the release mail
+
+git clone --depth 1 --branch X.XX-rcX https://github.com/apache/incubator-hop.git source_version
+
+# check if the git commit matches the commit mentioned in the release mail
+
+cd source_version
+git rev-parse --short HEAD
+
+# remove the .git folder
+
+rm -rf .git
+cd ..
+----
+
+final step is to see if the content of the source repository matches the content of the downloaded archive.
+
+[source,bash]
+----
+# unpack the downloaded source code
+
+tar -xvf apache-hop-X.XX-incubating-rcX.tar.gz
+
+# do a diff to see if they match
+
+diff -qr source_version apache-hop-X.XX-incubating
+
+# this should show no output indicating that all files match
+# the folder containing the source code can now be removed
+
+rm -rf source_version
+----
+
+Check if the unpacked archive contains following files and if they are correct
+
+* DISCLAIMER
+* LICENSE
+** check if mentioned licenses are available in the licenses folder
+* NOTICE
+* README
+** check for build instructions
+
+Validate if all files contain the correct headers
+
+[source,bash]
+----
+mvn apache-rat:rat -debug
+----
+
+Now build and test the released code
+
+[source,bash]
+----
+# run maven clean install (you can add -T 4 to build multi threaded)
+
+mvn clean install
+
+# switch to the finished artifact, extract and test
+cd assemblies/client/target
+unzip hop-client-*.zip
+cd hop 
+./hop-gui.sh
+----
+
+
+
+
+== Extra checks
+
+You can also check for unwanted binary files on the checked out tag
+
+[source,bash]
+----
+git ls-files -z | xargs -0 file -b | sort | uniq -c
+----
+
diff --git a/hop-dev-manual/modules/ROOT/pages/creating-a-release.adoc b/hop-dev-manual/modules/ROOT/pages/apache-release/creating-a-release.adoc
similarity index 100%
rename from hop-dev-manual/modules/ROOT/pages/creating-a-release.adoc
rename to hop-dev-manual/modules/ROOT/pages/apache-release/creating-a-release.adoc
diff --git a/hop-dev-manual/modules/ROOT/pages/apache-release/index.adoc b/hop-dev-manual/modules/ROOT/pages/apache-release/index.adoc
new file mode 100644
index 0000000..c9e5bab
--- /dev/null
+++ b/hop-dev-manual/modules/ROOT/pages/apache-release/index.adoc
@@ -0,0 +1,5 @@
+[[ApacheRelease]]
+= Release process
+
+* xref:apache-release/creating-a-release.adoc[Creating a Release]
+* xref:apache-release/checking-a-release.adoc[Checking a Release]
\ No newline at end of file