mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-06 18:54:06 +00:00
Merge pull request #10791 from ixdy/10687-build_official_release
Revert "Add `build-official-release.sh`"
This commit is contained in:
commit
d878295ad5
@ -1,108 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Copyright 2015 The Kubernetes Authors All rights reserved.
|
|
||||||
#
|
|
||||||
# Licensed 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.
|
|
||||||
|
|
||||||
# Builds an official release based on a git tag, with instructions for
|
|
||||||
# how to proceed after the bits are built.
|
|
||||||
|
|
||||||
set -o errexit
|
|
||||||
set -o nounset
|
|
||||||
set -o pipefail
|
|
||||||
|
|
||||||
# Get the md5 (duplicated from common.sh, but don't want to pull in
|
|
||||||
# all of common.sh here)
|
|
||||||
function md5() {
|
|
||||||
if which md5 >/dev/null 2>&1; then
|
|
||||||
md5 -q "$1"
|
|
||||||
else
|
|
||||||
md5sum "$1" | awk '{ print $1 }'
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Get the sha1 (duplicated from common.sh, but don't want to pull in
|
|
||||||
# all of common.sh here)
|
|
||||||
function sha1() {
|
|
||||||
if which shasum >/dev/null 2>&1; then
|
|
||||||
shasum -a1 "$1" | awk '{ print $1 }'
|
|
||||||
else
|
|
||||||
sha1sum "$1" | awk '{ print $1 }'
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
declare -r KUBE_GITHUB="https://github.com/GoogleCloudPlatform/kubernetes.git"
|
|
||||||
declare -r KUBE_RELEASE_VERSION=${1-}
|
|
||||||
declare -r KUBE_RELEASE_UMASK=${KUBE_RELEASE_UMASK:-022}
|
|
||||||
|
|
||||||
VERSION_REGEX="^v(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)$"
|
|
||||||
[[ ${KUBE_RELEASE_VERSION} =~ ${VERSION_REGEX} ]] || {
|
|
||||||
echo "!!! You must specify the version you are releasing in the form of '${VERSION_REGEX}'" >&2
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
declare -r KUBE_BUILD_DIR="/tmp/kubernetes-release-${KUBE_RELEASE_VERSION}-$(date +%s)"
|
|
||||||
|
|
||||||
# Set the default umask for the release. This ensures consistency
|
|
||||||
# across our release builds.
|
|
||||||
umask "${KUBE_RELEASE_UMASK}"
|
|
||||||
|
|
||||||
echo "Cloning ${KUBE_GITHUB} at ${KUBE_RELEASE_VERSION}."
|
|
||||||
echo
|
|
||||||
echo "NOTE: Ignore the deatched HEAD warning you're about to get. We want that."
|
|
||||||
echo
|
|
||||||
git clone ${KUBE_GITHUB} -b "${KUBE_RELEASE_VERSION}" "${KUBE_BUILD_DIR}"
|
|
||||||
|
|
||||||
# !!! REMINDER !!!
|
|
||||||
#
|
|
||||||
# Past this point, you are dealing with a different release. Don't
|
|
||||||
# assume you're executing code from the same repo as this script is
|
|
||||||
# running in. This needs to be a version agnostic build.
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "Cloned, building release."
|
|
||||||
echo
|
|
||||||
|
|
||||||
cd "${KUBE_BUILD_DIR}"
|
|
||||||
export KUBE_RELEASE_RUN_TESTS=n
|
|
||||||
export KUBE_SKIP_CONFIRMATIONS=y
|
|
||||||
make release
|
|
||||||
|
|
||||||
if ${KUBE_BUILD_DIR}/cluster/kubectl.sh version | grep Client | grep dirty; then
|
|
||||||
echo "!!! Tag at invalid point, or something else is bad. Build is dirty. Don't push this build." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
ln -s ${KUBE_BUILD_DIR}/_output/release-tars/kubernetes.tar.gz ${KUBE_BUILD_DIR}
|
|
||||||
|
|
||||||
MD5=$(md5 "${KUBE_BUILD_DIR}/kubernetes.tar.gz")
|
|
||||||
SHA1=$(sha1 "${KUBE_BUILD_DIR}/kubernetes.tar.gz")
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "Success! You must now do the following: (you may want to cut"
|
|
||||||
echo " and paste these instructions elsewhere, step 1 can be spammy)"
|
|
||||||
echo ""
|
|
||||||
echo " 1) (cd ${KUBE_BUILD_DIR}; build/push-official-release.sh)"
|
|
||||||
echo " 2) Go to https://github.com/GoogleCloudPlatform/kubernetes/releases"
|
|
||||||
echo " and create a new 'Release ${KUBE_RELEASE_VERSION} Candidate' release"
|
|
||||||
echo " 3) Upload the ${KUBE_BUILD_DIR}/kubernetes.tar.gz to GitHub"
|
|
||||||
echo " 4) Use this table for the hashes:"
|
|
||||||
echo ""
|
|
||||||
echo "binary | hash alg | hash"
|
|
||||||
echo "------ | -------- | ----"
|
|
||||||
echo "\`kubernetes.tar.gz\` | md5 | \`${MD5}\`"
|
|
||||||
echo "\`kubernetes.tar.gz\` | sha1 | \`${SHA1}\`"
|
|
||||||
echo ""
|
|
||||||
echo " 5) Ensure all the binaries are in place on GitHub and GCS before cleaning."
|
|
||||||
echo " 6) (cd ${KUBE_BUILD_DIR}; make clean; cd -; rm -rf ${KUBE_BUILD_DIR})"
|
|
||||||
echo ""
|
|
@ -185,21 +185,6 @@ function kube::build::verify_prereqs() {
|
|||||||
KUBE_BUILD_CONTAINER_NAME="kube-build-${KUBE_ROOT_HASH}"
|
KUBE_BUILD_CONTAINER_NAME="kube-build-${KUBE_ROOT_HASH}"
|
||||||
KUBE_BUILD_DATA_CONTAINER_NAME="kube-build-data-${KUBE_ROOT_HASH}"
|
KUBE_BUILD_DATA_CONTAINER_NAME="kube-build-data-${KUBE_ROOT_HASH}"
|
||||||
DOCKER_MOUNT_ARGS=("${DOCKER_MOUNT_ARGS_BASE[@]}" --volumes-from "${KUBE_BUILD_DATA_CONTAINER_NAME}")
|
DOCKER_MOUNT_ARGS=("${DOCKER_MOUNT_ARGS_BASE[@]}" --volumes-from "${KUBE_BUILD_DATA_CONTAINER_NAME}")
|
||||||
|
|
||||||
# Find gnu tar if it is available, bomb out if not.
|
|
||||||
TAR=tar
|
|
||||||
if which gtar &>/dev/null; then
|
|
||||||
TAR=gtar
|
|
||||||
else
|
|
||||||
if which gnutar &>/dev/null; then
|
|
||||||
TAR=gnutar
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if ! "${TAR}" --version | grep -q GNU; then
|
|
||||||
echo " !!! Cannot find GNU tar. Build on Linux or install GNU tar"
|
|
||||||
echo " on Mac OS X (brew install gnu-tar)."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
@ -352,7 +337,7 @@ function kube::build::build_image() {
|
|||||||
kube::build::build_image_cross
|
kube::build::build_image_cross
|
||||||
|
|
||||||
mkdir -p "${build_context_dir}"
|
mkdir -p "${build_context_dir}"
|
||||||
"${TAR}" czf "${build_context_dir}/kube-source.tar.gz" $(kube::build::source_targets)
|
tar czf "${build_context_dir}/kube-source.tar.gz" $(kube::build::source_targets)
|
||||||
|
|
||||||
kube::version::get_version_vars
|
kube::version::get_version_vars
|
||||||
kube::version::save_version_vars "${build_context_dir}/kube-version-defs"
|
kube::version::save_version_vars "${build_context_dir}/kube-version-defs"
|
||||||
@ -778,7 +763,26 @@ function kube::release::create_tarball() {
|
|||||||
local tarfile=$1
|
local tarfile=$1
|
||||||
local stagingdir=$2
|
local stagingdir=$2
|
||||||
|
|
||||||
"${TAR}" czf "${tarfile}" -C "${stagingdir}" kubernetes --owner=0 --group=0
|
# Find gnu tar if it is available
|
||||||
|
local tar=tar
|
||||||
|
if which gtar &>/dev/null; then
|
||||||
|
tar=gtar
|
||||||
|
else
|
||||||
|
if which gnutar &>/dev/null; then
|
||||||
|
tar=gnutar
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
local tar_cmd=("$tar" "czf" "${tarfile}" "-C" "${stagingdir}" "kubernetes")
|
||||||
|
if "$tar" --version | grep -q GNU; then
|
||||||
|
tar_cmd=("${tar_cmd[@]}" "--owner=0" "--group=0")
|
||||||
|
else
|
||||||
|
echo " !!! GNU tar not available. User names will be embedded in output and"
|
||||||
|
echo " release tars are not official. Build on Linux or install GNU tar"
|
||||||
|
echo " on Mac OS X (brew install gnu-tar)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
"${tar_cmd[@]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
@ -846,7 +850,7 @@ function kube::release::gcs::stage_and_hash() {
|
|||||||
srcdir=$(dirname ${src})
|
srcdir=$(dirname ${src})
|
||||||
srcthing=$(basename ${src})
|
srcthing=$(basename ${src})
|
||||||
mkdir -p ${GCS_STAGE}/${dst}
|
mkdir -p ${GCS_STAGE}/${dst}
|
||||||
"${TAR}" c -C ${srcdir} ${srcthing} | "${TAR}" x -C ${GCS_STAGE}/${dst}
|
tar c -C ${srcdir} ${srcthing} | tar x -C ${GCS_STAGE}/${dst}
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,10 +39,5 @@ KUBE_GCS_LATEST_CONTENTS=${KUBE_RELEASE_VERSION}
|
|||||||
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
|
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
|
||||||
source "$KUBE_ROOT/build/common.sh"
|
source "$KUBE_ROOT/build/common.sh"
|
||||||
|
|
||||||
if ${KUBE_ROOT}/cluster/kubectl.sh version | grep Client | grep dirty; then
|
|
||||||
echo "!!! Tag at invalid point, or something else is bad. Build is dirty. Don't push this build." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
kube::release::gcs::release
|
kube::release::gcs::release
|
||||||
kube::release::gcs::publish_latest_official
|
kube::release::gcs::publish_latest_official
|
||||||
|
Loading…
Reference in New Issue
Block a user