* integration tests target definitions in integration/BUILD.bazel updated to use a single dict * payload tracking for integration tests updated to work under Bazel * legacy integration_test CI job removed * integration/run_tests.sh script no longer used in CI so it has been updated for running integration tests locally in the legacy way PR Close #35985
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
set -u -e -o pipefail
 | 
						|
 | 
						|
# see https://circleci.com/docs/2.0/env-vars/#circleci-built-in-environment-variables
 | 
						|
CI=${CI:-false}
 | 
						|
 | 
						|
cd "$(dirname "$0")"
 | 
						|
 | 
						|
# If we aren't running on CircleCI, we do not shard tests because this would be the job of
 | 
						|
# Bazel eventually. For now, we just run all tests sequentially when running locally.
 | 
						|
if [ -n "${1:-}" ]; then
 | 
						|
  readonly RUN_TESTS=$@
 | 
						|
else
 | 
						|
  readonly RUN_TESTS=$(find $(ls) -maxdepth 0 -type d)
 | 
						|
fi
 | 
						|
 | 
						|
echo "Running integration tests:"
 | 
						|
echo ${RUN_TESTS}
 | 
						|
 | 
						|
# Build the packages-dist directory.
 | 
						|
# This should be fast on incremental re-build.
 | 
						|
node ../scripts/build/build-packages-dist.js
 | 
						|
 | 
						|
# Workaround https://github.com/yarnpkg/yarn/issues/2165
 | 
						|
# Yarn will cache file://dist URIs and not update Angular code
 | 
						|
export readonly cache=.yarn_local_cache
 | 
						|
function rm_cache {
 | 
						|
  rm -rf $cache
 | 
						|
}
 | 
						|
rm_cache
 | 
						|
mkdir $cache
 | 
						|
trap rm_cache EXIT
 | 
						|
 | 
						|
for testDir in ${RUN_TESTS}; do
 | 
						|
  [[ -d "$testDir" ]] || continue
 | 
						|
 | 
						|
  echo ""
 | 
						|
  echo "######################################################################"
 | 
						|
  echo "Running integration test $testDir"
 | 
						|
  echo "######################################################################"
 | 
						|
 | 
						|
  (
 | 
						|
    cd $testDir
 | 
						|
    rm -rf dist
 | 
						|
 | 
						|
    # Ensure the versions of (non-local) dependencies are exact versions (not version ranges) and
 | 
						|
    # in-sync between `package.json` and the lockfile.
 | 
						|
    # (NOTE: This must be run before `yarn install`, which updates the lockfile.)
 | 
						|
    node ../check-dependencies .
 | 
						|
 | 
						|
    yarn install --cache-folder ../$cache
 | 
						|
    yarn test || exit 1
 | 
						|
 | 
						|
    # remove the temporary node modules directory to keep the source folder clean.
 | 
						|
    rm -rf node_modules
 | 
						|
  )
 | 
						|
done
 |