New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test: integration tests now against bazel built packages #22810
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,19 +2,47 @@ | |
|
||
set -e -o pipefail | ||
|
||
currentDir=$(cd $(dirname $0); pwd) | ||
cd ${currentDir} | ||
# see https://circleci.com/docs/2.0/env-vars/#circleci-built-in-environment-variables | ||
CI=${CI:-false} | ||
|
||
cd "$(dirname "$0")" | ||
|
||
readonly thisDir=$(cd $(dirname $0); pwd) | ||
# basedir is the workspace root | ||
readonly basedir=$(pwd)/.. | ||
readonly bin=$(bazel info bazel-bin) | ||
|
||
echo "#################################" | ||
echo "Building @angular/* npm packages " | ||
echo "#################################" | ||
|
||
# Ideally these integration tests should run under bazel, and just list the npm | ||
# packages in their deps[]. | ||
# Until then, we have to manually run bazel first to create the npm packages we | ||
# want to test. | ||
bazel query --output=label 'kind(.*_package, //packages/...)' \ | ||
| xargs bazel build | ||
|
||
# Allow this test to run even if dist/ doesn't exist yet. | ||
# Under Bazel we don't need to create the dist folder to run the integration tests | ||
[ -d "${basedir}/dist/packages-dist" ] || mkdir -p $basedir/dist/packages-dist | ||
# Each package is a subdirectory of bazel-bin/packages/ | ||
for pkg in $(ls ${bin}/packages); do | ||
# Skip any that don't have an "npm_package" target | ||
if [ -d "${bin}/packages/${pkg}/npm_package" ]; then | ||
echo "# Copy artifacts to dist/packages-dist/${pkg}" | ||
rm -rf ${basedir}/dist/packages-dist/${pkg} | ||
cp -R ${bin}/packages/${pkg}/npm_package ${basedir}/dist/packages-dist/${pkg} | ||
fi | ||
done | ||
|
||
# Track payload size functions | ||
# TODO(alexeagle): finish migrating these to buildsize.org | ||
if [[ -v TRAVIS ]]; then | ||
if $CI; then | ||
# We don't install this by default because it contains some broken Bazel setup | ||
# and also it's a very big dependency that we never use except on Travis. | ||
# and also it's a very big dependency that we never use except when publishing | ||
# payload sizes on CI. | ||
yarn add -D firebase-tools@3.12.0 | ||
source ../scripts/ci/payload-size.sh | ||
source ${basedir}/scripts/ci/payload-size.sh | ||
fi | ||
|
||
# Workaround https://github.com/yarnpkg/yarn/issues/2165 | ||
|
@@ -35,24 +63,23 @@ for testDir in $(ls | grep -v node_modules) ; do | |
( | ||
cd $testDir | ||
rm -rf dist | ||
pwd | ||
yarn install --cache-folder ../$cache | ||
yarn test || exit 1 | ||
# Track payload size for cli-hello-world and hello_world__closure and the render3 tests | ||
if [[ $testDir == cli-hello-world ]] || [[ $testDir == hello_world__closure ]] || [[ $testDir == hello_world__render3__closure ]] || [[ $testDir == hello_world__render3__rollup ]] || [[ $testDir == hello_world__render3__cli ]]; then | ||
if [[ $testDir == cli-hello-world ]] || [[ $testDir == hello_world__render3__cli ]]; then | ||
yarn build | ||
fi | ||
if [[ -v TRAVIS ]]; then | ||
trackPayloadSize "$testDir" "dist/*.js" true false "${thisDir}/_payload-limits.json" | ||
fi | ||
fi | ||
if [[ -v TRAVIS ]]; then | ||
# remove the temporary node modules directory to save space. | ||
rm -rf node_modules | ||
#if $CI; then | ||
# trackPayloadSize "$testDir" "dist/*.js" true false "${basedir}/integration/_payload-limits.json" | ||
#fi | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. so we are disabling the size tracking for cli hello world? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. filed #23376 |
||
fi | ||
# remove the temporary node modules directory to keep the source folder clean. | ||
rm -rf node_modules | ||
) | ||
done | ||
|
||
if [[ -v TRAVIS ]]; then | ||
trackPayloadSize "umd" "../dist/packages-dist/*/bundles/*.umd.min.js" false false | ||
fi | ||
#if $CI; then | ||
# trackPayloadSize "umd" "../dist/packages-dist/*/bundles/*.umd.min.js" false false | ||
#fi |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
{ | ||
"name": "example" | ||
"name": "example", | ||
"version": "0.0.0-PLACEHOLDER" | ||
} |
This file was deleted.
This file was deleted.
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this was right above in the bigger ### fences