Attempt native imagebuilder image
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Some checks reported errors
continuous-integration/drone/push Build encountered an error
This commit is contained in:
73
REMOVED/hack/ensure-goss.sh
Executable file
73
REMOVED/hack/ensure-goss.sh
Executable file
@@ -0,0 +1,73 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright 2019 The Kubernetes Authors.
|
||||
#
|
||||
# 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.
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
[[ -n ${DEBUG:-} ]] && set -o xtrace
|
||||
|
||||
source hack/utils.sh
|
||||
|
||||
# SHA are for amd64 arch.
|
||||
_version="3.1.4"
|
||||
darwin_sha256="ddb663a3e4208639d90b89ebdb69dc240ec16d6b01877ccbf968f76a58a89f99"
|
||||
linux_sha256="9084877c2eea7e41fae60aaa6cdf7a7dde4e5de5e3d1f693ec8e812419ac54e9"
|
||||
_bin_url="https://github.com/YaleUniversity/packer-provisioner-goss/releases/download/v${_version}/packer-provisioner-goss-v${_version}-${HOSTOS}-${HOSTARCH}.tar.gz"
|
||||
_tarfile="${HOME}/.packer.d/plugins/packer-provisioner-goss.tar.gz"
|
||||
_binfile="${HOME}/.packer.d/plugins/packer-provisioner-goss"
|
||||
|
||||
# Get a shasum for right OS's binary
|
||||
case "${HOSTOS}" in
|
||||
linux)
|
||||
_sha256="${linux_sha256}"
|
||||
;;
|
||||
darwin)
|
||||
_sha256="${darwin_sha256}"
|
||||
;;
|
||||
*)
|
||||
echo "unsupported HOSTOS=${HOSTOS}" 1>&2
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Check if current binary is latest
|
||||
if [ -f "${_binfile}" ]; then
|
||||
current_shasum=$(get_shasum "${_binfile}")
|
||||
if [ "$current_shasum" != "$_sha256" ]; then
|
||||
echo "Wrong version of binary present."
|
||||
else
|
||||
echo "Right version of binary present"
|
||||
# Check if binary is executable.
|
||||
# If not, delete it and proceed. If it is executable, exit 0
|
||||
{ [ -x "${_binfile}" ] && exit 0; } || rm -f "${_binfile}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# download binary, verify shasum, make it executable and clean up trash files.
|
||||
_bin_dir="$(dirname "${_tarfile}")"
|
||||
mkdir -p "${_bin_dir}" && cd "${_bin_dir}"
|
||||
curl -SsL "${_bin_url}" -o "${_tarfile}"
|
||||
tar -C "${_bin_dir}" -xzf "${_tarfile}"
|
||||
rm "${_tarfile}"
|
||||
printf "%s *${_binfile}" "${_sha256}" >"${_binfile}.sha256"
|
||||
if ! checksum_sha256 "${_binfile}.sha256"; then
|
||||
_exit_code="${?}"
|
||||
rm -f "${_binfile}.sha256"
|
||||
exit "${_exit_code}"
|
||||
fi
|
||||
rm -f "${_binfile}.sha256"
|
||||
chmod 0755 "${_binfile}"
|
||||
Reference in New Issue
Block a user