63 lines
1.9 KiB
Bash
63 lines
1.9 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
ghr_version="0.13.0"
|
||
|
|
||
|
# NOTE: This release will generate a new release on the installers
|
||
|
# repository which in turn triggers a full package build
|
||
|
target_owner="hashicorp"
|
||
|
target_repository="vagrant-builders"
|
||
|
|
||
|
csource="${BASH_SOURCE[0]}"
|
||
|
while [ -h "$csource" ] ; do csource="$(readlink "$csource")"; done
|
||
|
root="$( cd -P "$( dirname "$csource" )/../" && pwd )"
|
||
|
|
||
|
. "${root}/.ci/init.sh"
|
||
|
|
||
|
pushd "${root}" > "${output}"
|
||
|
|
||
|
# Install ghr
|
||
|
wrap curl -Lso /tmp/ghr.tgz "https://github.com/tcnksm/ghr/releases/download/v${ghr_version}/ghr_v${ghr_version}_linux_amd64.tar.gz" \
|
||
|
"Failed to download ghr utility"
|
||
|
wrap tar -C /tmp/ -xf /tmp/ghr.tgz \
|
||
|
"Failed to unpack ghr archive"
|
||
|
wrap mv "/tmp/ghr_v${ghr_version}_linux_amd64/ghr" "${root}/.ci/" \
|
||
|
"Failed to install ghr utility"
|
||
|
|
||
|
# Build our gem
|
||
|
wrap gem build *.gemspec \
|
||
|
"Failed to build Vagrant RubyGem"
|
||
|
|
||
|
# Get the path of our new gem
|
||
|
g=(vagrant*.gem)
|
||
|
gem=$(printf "%s" "${g}")
|
||
|
|
||
|
# Determine the version of the release
|
||
|
vagrant_version="$(gem specification "${gem}" version)"
|
||
|
vagrant_version="${vagrant_version##*version: }"
|
||
|
|
||
|
# We want to release into the builders repository so
|
||
|
# update the repository variable with the desired destination
|
||
|
repo_owner="${target_owner}"
|
||
|
repo_name="${target_repository}"
|
||
|
full_sha="master"
|
||
|
|
||
|
export GITHUB_TOKEN="${HASHIBOT_TOKEN}"
|
||
|
|
||
|
if [ "${tag}" = "" ]; then
|
||
|
echo "Generating Vagrant RubyGem pre-release... "
|
||
|
version="v${vagrant_version}+${short_sha}"
|
||
|
prerelease "${version}" "${gem}"
|
||
|
else
|
||
|
# Validate this is a proper release version
|
||
|
valid_release_version "${vagrant_version}"
|
||
|
if [ $? -ne 0 ]; then
|
||
|
fail "Invalid version format for Vagrant release: ${vagrant_version}"
|
||
|
fi
|
||
|
|
||
|
echo "Generating Vagrant RubyGem release... "
|
||
|
version="v${vagrant_version}"
|
||
|
release "${version}" "${gem}"
|
||
|
fi
|
||
|
|
||
|
slack -m "New Vagrant installers release triggered: *${version}*"
|