* it's tricky to get out of the runfiles tree with `bazel test` as `BUILD_WORKSPACE_DIRECTORY` is not set but I employed a trick to read the `DO_NOT_BUILD_HERE` file that is one level up from `execroot` and that contains the workspace directory. This is experimental and if `bazel test //:test.debug` fails than `bazel run` is still guaranteed to work as `BUILD_WORKSPACE_DIRECTORY` will be set in that context * test //integration:bazel_test and //integration:bazel-schematics_test exclusively * run "exclusive" and "manual" bazel-in-bazel integration tests in their own CI job as they take 8m+ to execute ``` //integration:bazel-schematics_test PASSED in 317.2s //integration:bazel_test PASSED in 167.8s ``` * Skip all integration tests that are now handled by angular_integration_test except the tests that are tracked for payload size; these are: - cli-hello-world* - hello_world__closure * add & pin @babel deps as newer versions of babel break //packages/localize/src/tools/test:test @babel/core dep had to be pinned to 7.6.4 or else //packages/localize/src/tools/test:test failed. Also //packages/localize uses @babel/generator, @babel/template, @babel/traverse & @babel/types so these deps were added to package.json as they were not being hoisted anymore from @babel/core transitive. NB: integration/hello_world__systemjs_umd test must run with systemjs 0.20.0 NB: systemjs must be at 0.18.10 for legacy saucelabs job to pass NB: With Bazel 2.0, the glob for the files to test `"integration/bazel/**"` is empty if integation/bazel is in .bazelignore. This glob worked under these conditions with 1.1.0. I did not bother testing with 1.2.x as not having integration/bazel in .bazelignore is correct. PR Close #33927
		
			
				
	
	
		
			21 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
/**
 | 
						|
 * @license
 | 
						|
 * Copyright Google Inc. All Rights Reserved.
 | 
						|
 *
 | 
						|
 * Use of this source code is governed by an MIT-style license that can be
 | 
						|
 * found in the LICENSE file at https://angular.io/license
 | 
						|
 */
 | 
						|
 | 
						|
const path = require('path');
 | 
						|
const runfiles = require(process.env['BAZEL_NODE_RUNFILES_HELPER']);
 | 
						|
 | 
						|
// Change directories to the path of the ts-api-guardian source tree. We need to resolve an actual
 | 
						|
// path of a tree because we want to determine the path to the directory that includes all
 | 
						|
// test fixture runfiles. On Windows this is usually the original non-sandboxed disk location,
 | 
						|
// otherwise this just refers to the runfile directory with all the proper symlinked files.
 | 
						|
// NB: we resolve `test/fixtures/empty.ts` and then step up 3 folders so to ensure we resolve to the
 | 
						|
//     root of the source tree and not the output tree on Windows where there are no runfiles.
 | 
						|
// TODO: remove the whole bootstrap file once the tests are Bazel and Windows compatible.
 | 
						|
process.chdir(path.resolve(
 | 
						|
    runfiles.resolve('angular/tools/ts-api-guardian/test/fixtures/empty.ts'), '../../..'));
 |