hbase-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bus...@apache.org
Subject [15/17] hbase git commit: HBASE-14220 nightly check that we can build a source tarball.
Date Sun, 06 Aug 2017 17:24:58 GMT
HBASE-14220 nightly check that we can build a source tarball.

Signed-off-by: Michael Stack <stack@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/cd683e61
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/cd683e61
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/cd683e61

Branch: refs/heads/branch-1.2
Commit: cd683e612637e5db596c109da20bd1884235b819
Parents: cb36ecf
Author: Sean Busbey <busbey@apache.org>
Authored: Mon Jul 31 01:08:16 2017 -0500
Committer: Sean Busbey <busbey@apache.org>
Committed: Sun Aug 6 12:20:54 2017 -0500

----------------------------------------------------------------------
 dev-support/Jenkinsfile | 56 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/cd683e61/dev-support/Jenkinsfile
----------------------------------------------------------------------
diff --git a/dev-support/Jenkinsfile b/dev-support/Jenkinsfile
index b5c7660..cdb62b9 100644
--- a/dev-support/Jenkinsfile
+++ b/dev-support/Jenkinsfile
@@ -241,6 +241,62 @@ curl -L  -o personality.sh "${env.PROJET_PERSONALITY}"
         }
       }
     }
+    // This is meant to mimic what a release manager will do to create RCs.
+    // See http://hbase.apache.org/book.html#maven.release
+    stage ('create source tarball') {
+      tools {
+        maven 'Maven (latest)'
+        // this needs to be set to the jdk that ought to be used to build releases on the
branch the Jenkinsfile is stored in.
+        jdk "JDK 1.7 (latest)"
+      }
+      steps {
+        sh 'mvn --version --offline'
+        dir ("component") {
+          sh '''#!/bin/bash -e
+            echo "Clean..."
+            mvn --batch-mode -DskipTests clean
+            echo "Step 3 Build the source tarball"
+            mvn -Prelease --batch-mode -Dmaven.repo.local="${WORKSPACE}/.m2-for-repo" install
-DskipTests assembly:single -Dassembly.file=hbase-assembly/src/main/assembly/src.xml
+'''
+        }
+        dir ("unpacked_src_tarball") {
+          sh '''#!/bin/bash -e
+            echo "Unpack the source tarball"
+            tar --strip-components=1 -xzf ../component/hbase-assembly/target/hbase-*-src.tar.gz
+            echo "Building from source artifact."
+            mvn -DskipTests -Prelease --batch-mode -Dmaven.repo.local="${WORKSPACE}/.m2-for-src"
clean install assembly:single
+            echo "Clean up after checking ability to build."
+            mvn -DskipTests --batch-mode clean
+'''
+        }
+        dir ("component") {
+          sh '''#!/bin/bash -e
+            echo "Clean up the source checkout"
+            mvn -DskipTests --batch-mode clean
+            echo "Diff against source tree"
+            diff --binary --recursive . ../unpacked_src_tarball >../diff_output || true
+'''
+        }
+        // expectation check largely based on HBASE-14952
+        sh '''#!/bin/bash -e
+          echo "Checking against things we don't expect to include in the source tarball
(git related, hbase-native-client, etc.)"
+          cat >known_excluded <<END
+Only in .: .git
+Only in .: .gitattributes
+Only in .: .gitignore
+Only in .: hbase-native-client
+END
+          if ! diff known_excluded diff_output >/dev/null ; then
+            echo "Any output here are unexpected differences between the source artifact
we'd make for an RC and the current branch."
+            echo "The expected differences are on the < side and the current differences
are on the > side."
+            echo "In a given set of differences, '.' refers to the branch in the repo and
'unpacked_src_tarball' refers to what we pulled out of the tarball."
+            diff known_excluded diff_output
+          else
+            echo "Everything looks as expected."
+          fi
+'''
+      }
+    }
   }
   post {
     failure {


Mime
View raw message