Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 2BB80200CF0 for ; Sun, 6 Aug 2017 19:24:47 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 2A5D2164348; Sun, 6 Aug 2017 17:24:47 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 784A0164342 for ; Sun, 6 Aug 2017 19:24:46 +0200 (CEST) Received: (qmail 25966 invoked by uid 500); 6 Aug 2017 17:24:45 -0000 Mailing-List: contact commits-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list commits@hbase.apache.org Received: (qmail 25813 invoked by uid 99); 6 Aug 2017 17:24:45 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 06 Aug 2017 17:24:45 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id DD43FF3263; Sun, 6 Aug 2017 17:24:44 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: busbey@apache.org To: commits@hbase.apache.org Date: Sun, 06 Aug 2017 17:24:45 -0000 Message-Id: In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [02/17] hbase git commit: HBASE-14220 nightly check that we can build a source tarball. archived-at: Sun, 06 Aug 2017 17:24:47 -0000 HBASE-14220 nightly check that we can build a source tarball. Signed-off-by: Michael Stack Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/2a717459 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/2a717459 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/2a717459 Branch: refs/heads/master Commit: 2a717459bdad0f8ab64ecc45300e9022cf210af9 Parents: 04424ad Author: Sean Busbey Authored: Mon Jul 31 01:08:16 2017 -0500 Committer: Sean Busbey Committed: Sun Aug 6 12:01:47 2017 -0500 ---------------------------------------------------------------------- dev-support/Jenkinsfile | 56 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/2a717459/dev-support/Jenkinsfile ---------------------------------------------------------------------- diff --git a/dev-support/Jenkinsfile b/dev-support/Jenkinsfile index b5c7660..94d8c3f 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.8 (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 </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 {