Currently with the release of "8.0.0-beta.10", the Bazel npm packag accidentally was stamped with an incorrect version placeholder: `8.0.0-beta.10+1.sha-a28b3e3`. This can happen because the placeholder is based on latest tag that matches the Semver format. e.g. if `HEAD` equals to the commit that has the latest tag, the version name will be correct and refer to the tag name (e.g. `8.0.0-beta.10`). Though if the latest commit is not tagged with the most recent tag, the version name will also include the SHA of the commit (e.g. `8.0.0-beta.10+1.sha-a28b3e3`). We can ensure that we don't accidentally release versions from a more recent commit that shouldn't be part of the release by adding a pre-release check that ensures that the `BUILD_SCM_VERSION` Bazel status variable matches the expected version format. PR Close #29551
30 lines
1.1 KiB
Bash
Executable File
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
|