angular-cn/scripts/release/pre-check

30 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
# Runs the Bazel workspace status command in order to ensure that the version placeholder
# will be replaced with the proper version name when building the release output.
# Ensure that the stamping script is executed within the project directory.
cd $(dirname ${0})/../..
# The "0.0.0-PLACEHOLDER" is based on the value of the "BUILD_SCM_VERSION" status variable.
versionName=$(node tools/bazel_stamp_vars.js | grep -e "BUILD_SCM_VERSION" | cut -d " " -f2)
if [[ ! ${versionName} =~ ^[0-9]+\.[0-9]+\.[0-9]+(-(alpha|beta|rc).[0-9]+)?$ ]]; then
echo "ERROR: The release will currently have the following version: ${versionName}"
echo "This does not match the version format for releases to NPM."
echo ""
echo "Please ensure that the most recent commit in the current branch is tagged"
echo "with the proper version tag."
exit 1
fi
# Verify peer deps constraints and package.json before publishing to npm
# There should be no npm errors
mkdir tmp
cd tmp
npm init -y
npm install --save ../dist/packages-dist/* typescript@~2.7 rxjs@^6.0.0-beta.4 zone.js@~0.8.20
cd ..
rm -rf ./tmp