49dcb06dca
Previously the pre-check confirmed that the stamping value was normal and expected, however with the new stamping methodology of marking for publish via flag, the check no longer will ever see anything but a passing version, since it is stamped as publish. PR Close #40422
25 lines
1.2 KiB
Bash
Executable File
25 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -u -e -o pipefail
|
|
|
|
# Use for production releases
|
|
# Query Bazel for npm_package and ng_package rules with tags=["release-with-framework"]
|
|
# Publish them to npm (tagged next)
|
|
|
|
# We need to resolve the Bazel binary in the node modules because running Bazel
|
|
# through `yarn bazelisk` causes additional output that throws off the command stdout.
|
|
BAZEL_BIN=$(yarn bin)/bazelisk
|
|
# Build into a distinct output location so that artifacts from previous builds are not reused
|
|
BAZEL_OUTPUT_BASE=$(mktemp -d -t angular-release-latest.XXXXXXX)
|
|
BAZEL="$BAZEL_BIN --output_base=$BAZEL_OUTPUT_BASE"
|
|
|
|
# query for all npm packages to be released as part of the framework release
|
|
NPM_PACKAGE_LABELS=`${BAZEL_BIN} query --output=label 'attr("tags", "\[.*release-with-framework.*\]", //packages/...) intersect kind("ng_package|pkg_npm", //packages/...)'`
|
|
# build all npm packages in parallel
|
|
$BAZEL build --config=release $NPM_PACKAGE_LABELS
|
|
# publish all packages in sequence to make it easier to spot any errors or warnings
|
|
for packageLabel in $NPM_PACKAGE_LABELS; do
|
|
echo "publishing $packageLabel"
|
|
$BAZEL run --config=release -- ${packageLabel}.publish --access public --tag latest
|
|
done
|