#!/bin/bash set -euo pipefail bail="--bail" runtarget="build+test" while [[ "${1:-}" != "" ]]; do case $1 in -h|--help) echo "Usage: build.sh [--no-bail] [--force|-f] [--skip-test]" exit 1 ;; --no-bail) bail="--no-bail" ;; -f|--force) export CDK_BUILD="--force" ;; --skip-test|--skip-tests) runtarget="build" ;; *) echo "Unrecognized parameter: $1" exit 1 ;; esac shift done export PATH=$(npm bin):$PATH export NODE_OPTIONS="--max-old-space-size=4096 ${NODE_OPTIONS:-}" echo "=============================================================================================" echo "installing..." yarn install --frozen-lockfile fail() { echo "❌ Last command failed. Scroll up to see errors in log (search for '!!!!!!!!')." exit 1 } /bin/bash ./git-secrets-scan.sh # Prepare for build with references /bin/bash scripts/generate-aggregate-tsconfig.sh > tsconfig.json BUILD_INDICATOR=".BUILD_COMPLETED" rm -rf $BUILD_INDICATOR echo "=============================================================================================" echo "building..." time lerna run $bail --stream $runtarget --ignore 'all-in-farm**' || fail touch $BUILD_INDICATOR