#!/bin/bash # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "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. # set -e usage() { echo "usage: make_tarball.sh " } if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ]; then if [ -z "${SUPERSET_VERSION}" ] || [ -z "${SUPERSET_RC}" ] || [ -z "${SUPERSET_PGP_FULLNAME}" ] || [ -z "${SUPERSET_RELEASE_RC_TARBALL}" ]; then echo "No parameters found and no required environment variables set" echo "usage: make_tarball.sh " usage; exit 1 fi else SUPERSET_VERSION="${1}" SUPERSET_RC="${2}" SUPERSET_PGP_FULLNAME="${3}" SUPERSET_RELEASE_RC_TARBALL="apache-superset-${SUPERSET_VERSION_RC}-source.tar.gz" fi SUPERSET_VERSION_RC="${SUPERSET_VERSION}rc${SUPERSET_RC}" if [ -z "${SUPERSET_SVN_DEV_PATH}" ]; then SUPERSET_SVN_DEV_PATH="$HOME/svn/superset_dev" fi if [[ ! -d "${SUPERSET_SVN_DEV_PATH}" ]]; then echo "${SUPERSET_SVN_DEV_PATH} does not exist, you need to: svn checkout" exit 1 fi if [ -d "${SUPERSET_SVN_DEV_PATH}/${SUPERSET_VERSION_RC}" ]; then echo "${SUPERSET_VERSION_RC} Already exists on svn, refusing to overwrite" exit 1 fi SUPERSET_RELEASE_RC_TARBALL_PATH="${SUPERSET_SVN_DEV_PATH}"/"${SUPERSET_VERSION_RC}"/"${SUPERSET_RELEASE_RC_TARBALL}" DOCKER_SVN_PATH="/docker_svn" # Building docker that will produce a tarball docker build -t apache-builder -f Dockerfile.make_tarball . # Running docker to produce a tarball docker run \ -e SUPERSET_SVN_DEV_PATH="${DOCKER_SVN_PATH}" \ -e SUPERSET_VERSION="${SUPERSET_VERSION}" \ -e SUPERSET_VERSION_RC="${SUPERSET_VERSION_RC}" \ -e HOST_UID=${UID} \ -v "${SUPERSET_SVN_DEV_PATH}":"${DOCKER_SVN_PATH}":rw \ -ti apache-builder gpg --armor --local-user "${SUPERSET_PGP_FULLNAME}" --output "${SUPERSET_RELEASE_RC_TARBALL_PATH}".asc --detach-sig "${SUPERSET_RELEASE_RC_TARBALL_PATH}" gpg --print-md --local-user "${SUPERSET_PGP_FULLNAME}" SHA512 "${SUPERSET_RELEASE_RC_TARBALL_PATH}" > "${SUPERSET_RELEASE_RC_TARBALL_PATH}".sha512 echo --------------------------------------- echo Release candidate tarball is ready echo ---------------------------------------