Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
165 commits
Select commit Hold shift + click to select a range
25bbcbc
ci: add brandonroberts to @angular/framework-global-approvers-for-doc…
IgorMinar Jan 6, 2019
16aad8b
docs: add Alyle UI to resources (#27954)
Enlcxx Jan 7, 2019
6b394f6
fix(bazel): ng_package creates invalid typings reexport on windows (#…
devversion Dec 25, 2018
fad4145
fix(bazel): packager not properly removing amd directives on windows …
devversion Dec 25, 2018
f376c46
test(bazel): fix all ng_package tests not working on windows (#27829)
devversion Dec 25, 2018
e1e69ca
test(bazel): re-enable ng_package golden testing on ci (#27829)
devversion Dec 25, 2018
0be8487
fix(bazel): protractor utils cannot start server on windows (#27915)
devversion Jan 3, 2019
2b001cb
ci: move local and saucelabs unit tests to circle (#27937)
IgorMinar Jan 4, 2019
5cba438
ci: remove build steps that are no longer needed (#27937)
IgorMinar Jan 5, 2019
dac9c09
ci: move e2e tests from travis to circleci (#27937)
devversion Jan 5, 2019
21b875d
ci: run legacy e2e tests in parallel (#27937)
devversion Jan 5, 2019
cc35feb
ci: remove travis ci setup (#27937)
devversion Jan 5, 2019
302506e
build: remove "test.sh" script (#27937)
devversion Jan 5, 2019
1057b52
build: remove "build.sh" script (#27937)
devversion Jan 5, 2019
eed1718
test: fix integration/platform-server test which had missing @types/n…
IgorMinar Jan 6, 2019
9773b5a
build: shard integration tests on circleci (#27937)
devversion Jan 6, 2019
ee5a094
build: bazel integration test using limited resources (#27937)
devversion Jan 6, 2019
eedb069
build: group sharded "test_docs_examples" jobs within circleci (#27937)
devversion Jan 6, 2019
b51ae7e
build: increase parallelism for "test_docs_examples" job (#27937)
devversion Jan 7, 2019
f720e97
ci: remove required ci status for travis from angular-robot.yaml (#27…
IgorMinar Jan 7, 2019
468fcab
ci: compute commit range for rerun workflows (#27775)
gkalpak Dec 20, 2018
7d25895
docs: remove Travis status from README (#27973)
alexeagle Jan 8, 2019
80f9f7e
docs: group fixes and features for 7.2.0 in changelog desc (#27974)
kara Jan 8, 2019
e9614ef
ci: update payload size for cli-hello-world (#27994)
kara Jan 8, 2019
aee5cbd
test(ivy): re-enable passing animation tests (#27997)
kara Jan 8, 2019
e3853e8
ci: fix public api rule in codeowners (#27999)
IgorMinar Jan 8, 2019
c4b0686
test: fix outDir in TS 3.2 integration test (#27774)
cexbrayat Dec 20, 2018
354f363
docs: update rxjs example and change fromPromise to from (#27443)
zhengkai Dec 3, 2018
37a6d2d
Revert "test(ivy): re-enable passing animation tests (#27997)"
kara Jan 9, 2019
ef3ec34
docs: use static zip function as an Observable creator. (#26790)
Oct 26, 2018
f589933
test(upgrade): properly clean up after tests to avoid errors in unrel…
gkalpak Jan 9, 2019
836a5c7
build(docs-infra): remove unnecessary script to workaround cli issue …
gkalpak Jan 9, 2019
54ba0f0
docs(core): fix characters that corrupt link (#27982)
Jan 8, 2019
1da4b03
fix(aio): Treating some deprecated (#27981)
wKoza Jan 8, 2019
11728bb
build: remove travisci leftovers (#27979)
devversion Jan 8, 2019
bea6771
build: re-enable disabled e2e tests (#27979)
devversion Jan 8, 2019
c3d8e28
fix(bazel): flat module misses AMD module name on windows (#27839)
devversion Dec 26, 2018
8ee6983
build(bazel): List explicit dependencies in WORKSPACE (#28000)
kyliau Jan 8, 2019
30256e8
ci: add brandonroberts to @angular/docs-infra codeowners (#28023)
IgorMinar Jan 9, 2019
079bcff
docs: fix typo PageNotFoundCompponent (#27799)
mdewree Dec 21, 2018
12dd552
docs(forms): remove duplicated link (#27884)
pickfire Jan 2, 2019
dee789c
docs(core): add missing closing backtick (`) (#27908)
Meknassih Jan 3, 2019
a6153ac
docs: remove deprecated `fromPromise` from RxJS guide (#28015)
gkalpak Jan 9, 2019
21093b9
fix(bazel): Add @bazel/bazel to dev deps (#28032)
kyliau Jan 10, 2019
2e0c58e
docs: document why not using `compare-url` orb (#28010)
gkalpak Jan 9, 2019
f05c5f8
fix(bazel): protractor rule does not run spec files with underscore (…
devversion Jan 9, 2019
5c680d4
test(upgrade): log more info to help debug CI flakes (#28045)
gkalpak Jan 10, 2019
e4fc8ba
fix(bazel): Add /bazel-out to .gitignore (#27874)
lacolaco Dec 31, 2018
f240ae5
build(bazel): Bump @bazel/typescript & @bazel/karma to 0.22.1 (#28031)
kyliau Jan 10, 2019
342d352
refactor(core): improve type for EventEmitter (#27228)
Teamop Nov 22, 2018
2f154b9
docs: fix broken html for deployment.md (#27851)
JohannesHoppe Dec 27, 2018
80994b2
docs: fix typo (#27865)
markgoho Dec 30, 2018
9556ba7
docs(router): fix misnamed path (#27879)
jharrilim Jan 1, 2019
ae7b3c8
docs(router): fixed a typo in CanLoad title text (#27894)
karanveersp Jan 2, 2019
60255b6
docs: re-write interpolation section and add example (#25170)
kapunahelewong Jul 19, 2018
0e81e41
docs: add schematics terms to glossary (#27862)
jbogarthyde Dec 28, 2018
76e8c0a
feat(docs-infra): add `service-worker` project type (#28020)
gkalpak Jan 10, 2019
8ab0362
feat(docs-infra): add support for custom test commands in cli-based d…
gkalpak Jan 10, 2019
1640832
docs(service-worker): fix the `service-worker-getting-started` docs e…
gkalpak Jan 10, 2019
84c1bad
style(service-worker): fix code formatting in `service-worker-getting…
gkalpak Jan 10, 2019
0ec4e13
docs(service-worker): fix example of manually checking for updates (#…
gkalpak Jan 9, 2019
5e6c24c
build: update `version` in `package.json` (#28075)
gkalpak Jan 11, 2019
305331f
build(docs-infra): render `@see` information in members (#28069)
petebacondarwin Jan 11, 2019
47840be
docs(forms): fix up `@see` tags for `AbstractContol` (#28069)
petebacondarwin Jan 11, 2019
28d34b6
fix(bazel): Add ibazel to deps of Bazel project (#28090)
kyliau Jan 11, 2019
c66a076
docs: add library doc to guides in aio (#27581)
jbogarthyde Dec 5, 2018
c5664bf
test(docs-infra): increase timeout for all redirection tests (#28103)
gkalpak Jan 12, 2019
b9fd624
docs: fix scripts section and some minor issues in universal document…
alan-agius4 Nov 7, 2018
51f7f08
docs: update link in universal guide (#26628)
cyraid Oct 21, 2018
d64aadf
docs: fix typo in testing guide (#26828)
courtneypattison Oct 29, 2018
aa3f75b
docs: minor wording change in code example comment (#26835)
null-reference Oct 29, 2018
9241104
docs: fix GitHub pages deployment command (#26896)
sasidhar Nov 1, 2018
495ce32
docs: add browser polyfills for IE11 with hash-based routing (#27135)
brandonroberts Nov 16, 2018
1be2f11
docs: updates to minor spelling mistakes in pipes guide (#27208)
coultonluke Nov 21, 2018
af3cf36
docs: ngComponentOutlet doc updated with new Injector creation (#27291)
kwiateusz Nov 27, 2018
6ae8d76
docs: fix typo in docs.md (#27484)
bradbrandhorst Dec 5, 2018
edbba24
docs: fix typo in dependency injection guide (#27616)
ashinzekene Dec 12, 2018
0d86005
docs: change in(what should I import? answer) NgModule FAQs (#27677)
Shivam-Vyas Dec 14, 2018
5390948
docs: fix typo in singleton services guide (#27948)
javatutorials2016 Jan 6, 2019
080de58
refactor(bazel): use web_package rule for index.html (#27995)
kyliau Dec 6, 2018
fbbdaaa
fix(bazel): replay compilation uses wrong compiler for building esm5 …
devversion Jan 10, 2019
0ceab97
fix(docs-infra): render `deprecated` markers for CLI command options …
wKoza Jan 13, 2019
ea2eef7
fix(docs-infra): change style of `deprecated` markers (#28111)
wKoza Jan 14, 2019
8750b09
fix(docs-infra): Add crossed through styling (#28111)
wKoza Jan 14, 2019
f269e43
docs: ng config link fix (#28115)
malgosiastp Jan 13, 2019
ca3965a
fix(bazel): incorrectly always uses ngc-wrapped from "npm" workspace …
devversion Jan 14, 2019
de80f1b
docs: update testing doc example style for HostListener (#26372)
krzysztof-grzybek Oct 10, 2018
531f940
docs(ivy): remove duplicated words in architecture doc (#27471)
bsdfzzzy Dec 5, 2018
02a852a
fix(bazel): Bazel schematics should add router package (#28141)
kyliau Jan 14, 2019
701270d
test(bazel): Use local_repository to load Angular (#28142)
kyliau Jan 11, 2019
6ae7aee
fix(router): ensure URL is updated after second redirect with UrlUpda…
jasonaden Dec 6, 2018
585e871
fix(service-worker): navigation urls backwards compatibility (#27244)
Serginho Jan 15, 2019
5c56b77
docs(core): fix typo (#28042)
ernest-galbrun Jan 10, 2019
3d1a4d5
docs: add api doc for switch directives (#27378)
jbogarthyde Nov 30, 2018
8bc369f
docs(router): add clarification for Router config (#28159)
jasonaden Jan 15, 2019
6851581
perf(platform-server): use shared `DomElementSchemaRegistry` instance…
bmeurer Jan 15, 2019
479019f
test(upgrade): clean up global state after test (#28181)
gkalpak Jan 16, 2019
03293c4
fix(ivy): normalize summary and factory shim files paths (#28173)
alan-agius4 Jan 16, 2019
0516839
release: cut the v7.2.1 release
AndrewKushnir Jan 16, 2019
7b772e9
fix(bazel): Fix integration test after v8 bump (#28194)
Jan 16, 2019
a4d9192
feat(bazel): Add support for SASS (#28167)
kyliau Jan 15, 2019
4ea6c27
build(bazel): Use @angular/cli from root package.json (#28139)
kyliau Jan 14, 2019
6d40ef2
fix(docs-infra): improve a11y (#28086)
wKoza Jan 11, 2019
d8c75f1
docs: fix comments in services example (#26194)
kapunahelewong Oct 1, 2018
49bee4c
ci(docs-infra): do not automatically post preview comments on PRs for…
gkalpak Jan 17, 2019
93d78c9
build(bazel): Use local rollup & build-optimizer for ng_rollup_bundle…
Jan 17, 2019
4c00059
feat(compiler-cli): resolve generated Sass/Less files to .css inputs …
alexeagle Jan 15, 2019
1c7d156
ci: add a rebase check to the merge-pr script (#28250)
IgorMinar Jan 18, 2019
f4ac96d
style(docs-infra): Active tslint rule `semicolon` (#28282)
wKoza Jan 22, 2019
607fd8e
refactor: remove unused case in switch statement (#28253)
DanielRuf Jan 19, 2019
cb93027
build: Fix gulp format for Node >= 10.14 (#28213)
Jan 18, 2019
eb8ccf6
fix(docs-infra): removal of the use of the ChildNode.remove() method …
wKoza Jan 16, 2019
ab08385
build: create dist/bin symlink with Bazel outputs (#27781)
alexeagle Dec 20, 2018
54565ed
docs: fix crisis-detail milestone files (#27025)
odahcam Nov 9, 2018
cf71668
build: hide vscode settings e.g. debug launch config (#28299)
jasonaden Jan 22, 2019
617412f
docs: add api doc for ng_style directive (#27379)
jbogarthyde Nov 30, 2018
f1c08d8
docs: add input doc (#27379)
jbogarthyde Jan 21, 2019
7642308
docs: correct array to map (#27379)
jbogarthyde Jan 21, 2019
32737a6
fix(router): `skipLocationChange` with named outlets (#28301)
jasonaden Jan 22, 2019
5c5fe34
release: cut the v7.2.2 release
alxhub Jan 22, 2019
c2d2953
refactor: remove unused parameters (#28203)
Jan 17, 2019
cf310ba
refactor: fix code style (#28203)
Jan 18, 2019
5877b3f
refactor: remove unused parameter in _main method invocation (#28203)
DanielRuf Jan 19, 2019
f72319c
docs(router): removed additional to (#25989)
willyboy Sep 17, 2018
beacbfc
build(docs-infra): upgrade cli command docs sources to 699743282 (#28…
gkalpak Jan 24, 2019
763d215
docs(animations): fix group and sequence function usage examples (#28…
ngfelixl Jan 22, 2019
898c013
docs: fix typo and add parenthesis to method in HTTP tutorial (#28289)
Jan 23, 2019
bcd1a09
refactor(docs-infra): remove unused CSS style rule (#28104)
gkalpak Jan 12, 2019
d5dca07
fix(docs-infra): align property names to the top (#28104)
gkalpak Jan 12, 2019
cb9fd9b
feat(docs-infra): saves the scroll position before the change of loca…
wKoza Jan 10, 2019
63e6d1a
docs(docs-infra): show top menu at 992px screen width (#26418)
carlosasj Oct 12, 2018
bc10328
fix(docs-infra): change the key used to find out the cli section (#28…
wKoza Jan 22, 2019
c5af3f8
docs: add api doc to template_ref (#28344)
jbogarthyde Nov 30, 2018
4ad691a
docs: add api doc for ngfor (#27377) (#28344)
jbogarthyde Nov 30, 2018
35f7ff0
docs: add api doc for ngif (#27376) (#28344)
jbogarthyde Nov 30, 2018
a1b9995
refactor(router): initalize browserUrlTree to empty tree (#28376)
jasonaden Jan 25, 2019
8cee56e
fix(bazel): add @npm//tslib dep to e2e ts_library target in bazel-wor…
gregmagolan Jan 25, 2019
6397885
test(bazel): Cleanup bazel-schematics integration test (#28351)
Jan 24, 2019
8346a6d
test(docs-infra): properly report errors if `page.init()` fails/rejec…
gkalpak Jan 22, 2019
f767c22
test(docs-infra): unregister the SW after `waitForAngular()` (#28290)
gkalpak Jan 22, 2019
318bd83
test(docs-infra): unregister the SW after each test (#28290)
gkalpak Jan 22, 2019
1d67cb0
test(docs-infra): increase timeout for redirection tests more (#28290)
gkalpak Jan 22, 2019
cf82fbc
build: set a default module_name for ts_library rules (#28051) (#28241)
alexeagle Jan 10, 2019
81678e6
build(bazel): update to bazel 0.22.0 and turn on --incompatible_stric…
gregmagolan Jan 28, 2019
2f19ad9
fix(docs-infra): upgrade codelyzer to 4.5.0 (#28389)
wKoza Jan 26, 2019
a9d46e4
fix(bazel): ng-new should run yarn install (#28381)
kyliau Jan 25, 2019
aed48e0
build: update sauce connect version (#28378)
devversion Jan 25, 2019
260ac20
fix(bazel): Bazel-workspace schematics should run in ScopedTree (#28349)
Jan 17, 2019
12b8a6e
fix(bazel): Builder should invoke local bazel/iblaze (#28303)
Jan 22, 2019
ef78e33
build: switch example e2e tests to bazel (#28402)
devversion Jan 28, 2019
351610c
test: disable failing ivy example e2e tests (#28402)
devversion Jan 28, 2019
8db05b4
test(bazel): Integration test for Sass support (#28297)
Jan 17, 2019
71b66fb
build: run offline_compiler_test using bazel (#28191)
devversion Jan 22, 2019
fe50710
build: fix outdated i18n compiler-cli test assertions (#28191)
devversion Jan 22, 2019
bef52d2
build: fix outdated ngtools compiler-cli test logic (#28191)
devversion Jan 22, 2019
47e9761
build: improve compiler-cli codegen output test (#28191)
devversion Jan 22, 2019
068a607
docs(docs-infra): add ng-India to events list (#28119)
debugmodedotnet Jan 25, 2019
65375f4
fix(docs-infra): boolean options default value is incorrect when it's…
alan-agius4 Nov 9, 2018
3f86ef3
refactor(core): remove duplicate check in `defaultStyleSanitizer`
gkalpak Jan 22, 2019
83a428b
fix(ivy): add missing private render3 exports
gkalpak Jan 24, 2019
d6b4478
refactor(docs-infra): get rid of `on` component input
gkalpak Nov 5, 2018
e43fd9d
build(docs-infra): upgrade @angular/cli to 7.2.1
gkalpak Jan 14, 2019
00b28ae
ci(docs-infra): compile with Ivy
gkalpak Nov 5, 2018
f94054d
refactor: correctly name `cli-hello-world-ivy` project to distinguish…
gkalpak Dec 5, 2018
35eb293
test: log cli version in `cli-hello-world[-ivy]` integration projects
gkalpak Jan 17, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
22 changes: 19 additions & 3 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,18 @@ test:debug --test_arg=--node_options=--inspect-brk --test_output=streamed --test
# Filesystem interactions #
###############################

# Don't create symlinks like bazel-out in the project.
# These cause VSCode to traverse a massive tree, opening file handles and
# Create symlinks in the project:
# - dist/bin for outputs
# - dist/testlogs, dist/genfiles
# - bazel-out
# NB: bazel-out should be excluded from the editor configuration.
# The checked-in /.vscode/settings.json does this for VSCode.
# Other editors may require manual config to ignore this directory.
# In the past, we say a problem where VSCode traversed a massive tree, opening file handles and
# eventually a surprising failure with auto-discovery of the C++ toolchain in
# MacOS High Sierra.
# See https://github.com/bazelbuild/bazel/issues/4603
build --symlink_prefix=/
build --symlink_prefix=dist/

# Performance: avoid stat'ing input files
build --watchfs
Expand All @@ -36,6 +42,16 @@ build --watchfs
run --nolegacy_external_runfiles
test --nolegacy_external_runfiles

# Turn on --incompatible_strict_action_env which was on by default
# in Bazel 0.21.0 but turned off again in 0.22.0. Follow
# https://github.com/bazelbuild/bazel/issues/7026 for more details.
# This flag is needed to so that the bazel cache is not invalidated
# when running bazel via `yarn bazel`.
# See https://github.com/angular/angular/issues/27514.
build --incompatible_strict_action_env
run --incompatible_strict_action_env
test --incompatible_strict_action_env

###############################
# Release support #
# Turn on these settings with #
Expand Down
154 changes: 129 additions & 25 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ jobs:
# Run e2e tests
- run: yarn --cwd aio e2e

test_aio_tools:
test_aio_local_ivy:
<<: *job_defaults
steps:
- checkout:
Expand All @@ -211,18 +211,11 @@ jobs:
- attach_workspace:
at: dist
- *define_env_vars
# Install
- run: yarn --cwd aio install --frozen-lockfile --non-interactive
- run: yarn --cwd aio extract-cli-command-docs
# Run tools tests
- run: yarn --cwd aio tools-test
- run: ./aio/aio-builds-setup/scripts/test.sh
# Build aio with Ivy (using local Angular packages)
- run: yarn --cwd aio build-with-ivy --progress=false

test_docs_examples_0:
test_aio_tools:
<<: *job_defaults
docker:
# Needed because the example e2e tests depend on Chrome.
- image: *browsers_docker_image
steps:
- checkout:
<<: *post_checkout
Expand All @@ -231,18 +224,19 @@ jobs:
- attach_workspace:
at: dist
- *define_env_vars
# Install root
- *yarn_install
# Install aio
# Install
- run: yarn --cwd aio install --frozen-lockfile --non-interactive
# Run examples tests
- run: yarn --cwd aio example-e2e --setup --local --shard=0/2
- run: yarn --cwd aio extract-cli-command-docs
# Run tools tests
- run: yarn --cwd aio tools-test
- run: ./aio/aio-builds-setup/scripts/test.sh

test_docs_examples_1:
test_docs_examples:
<<: *job_defaults
docker:
# Needed because the example e2e tests depend on Chrome.
- image: *browsers_docker_image
parallelism: 3
steps:
- checkout:
<<: *post_checkout
Expand All @@ -255,8 +249,10 @@ jobs:
- *yarn_install
# Install aio
- run: yarn --cwd aio install --frozen-lockfile --non-interactive
# Run examples tests
- run: yarn --cwd aio example-e2e --setup --local --shard=1/2
# Run examples tests. The "CIRCLE_NODE_INDEX" will be set if "parallelism" is enabled.
# Since the parallelism is set to "3", there will be three parallel CircleCI containers
# with either "0", "1" or "2" as node index. This can be passed to the "--shard" argument.
- run: yarn --cwd aio example-e2e --setup --local --shard=${CIRCLE_NODE_INDEX}/${CIRCLE_NODE_TOTAL}

# This job should only be run on PR builds, where `CI_PULL_REQUEST` is not `false`.
aio_preview:
Expand Down Expand Up @@ -333,6 +329,7 @@ jobs:
# See comments inside the integration/run_tests.sh script.
integration_test:
<<: *job_defaults
parallelism: 4
docker:
# Needed because the integration tests expect Chrome to be installed (e.g cli-hello-world)
- image: *browsers_docker_image
Expand All @@ -348,7 +345,9 @@ jobs:
- attach_workspace:
at: dist
- *define_env_vars
- run: ./integration/run_tests.sh
# Runs the integration tests in parallel across multiple CircleCI container instances. The
# amount of container nodes for this job is controlled by the "parallelism" option.
- run: ./integration/run_tests.sh ${CIRCLE_NODE_INDEX} ${CIRCLE_NODE_TOTAL}

# This job updates the content of repos like github.com/angular/core-builds
# for every green build on angular/angular.
Expand Down Expand Up @@ -399,6 +398,92 @@ jobs:
command: 'curl --request POST --header "Content-Type: application/json" --data "{\"text\":\":x: \`$CIRCLE_JOB\` job failed on build $CIRCLE_BUILD_NUM: $CIRCLE_BUILD_URL :scream:\"}" $CI_SECRET_SLACK_CARETAKER_WEBHOOK_URL'
when: on_fail

legacy-unit-tests-local:
<<: *job_defaults
docker:
- image: *browsers_docker_image
steps:
- checkout:
<<: *post_checkout
- restore_cache:
key: *cache_key
- *define_env_vars
- *yarn_install
- run: yarn tsc -p packages
- run: yarn tsc -p modules
- run: yarn karma start ./karma-js.conf.js --single-run --browsers=ChromeNoSandbox

legacy-unit-tests-saucelabs:
<<: *job_defaults
# In order to avoid the bottleneck of having a slow host machine, we acquire a better
# container for this job. This is necessary because we launch a lot of browsers concurrently
# and therefore the tunnel and Karma need to process a lot of file requests and tests.
resource_class: xlarge
steps:
- checkout:
<<: *post_checkout
- restore_cache:
key: *cache_key
- *define_env_vars
- *yarn_install
- run:
name: Preparing environment for running tests on Saucelabs.
command: |
setPublicVar KARMA_JS_BROWSERS $(node -e 'console.log(require("./browser-providers.conf").sauceAliases.CI_REQUIRED.join(","))')
setSecretVar SAUCE_ACCESS_KEY $(echo $SAUCE_ACCESS_KEY | rev)
- run:
name: Starting Saucelabs tunnel
command: ./scripts/saucelabs/start-tunnel.sh
background: true
- run: yarn tsc -p packages
- run: yarn tsc -p modules
# Waits for the Saucelabs tunnel to be ready. This ensures that we don't run tests
# too early without Saucelabs not being ready.
- run: ./scripts/saucelabs/wait-for-tunnel.sh
- run: yarn karma start ./karma-js.conf.js --single-run --browsers=${KARMA_JS_BROWSERS}
- run: ./scripts/saucelabs/stop-tunnel.sh

legacy-e2e-tests:
<<: *job_defaults
docker:
- image: *browsers_docker_image
steps:
- checkout:
<<: *post_checkout
- restore_cache:
key: *cache_key
- *define_env_vars
- *setup_circleci_bazel_config
- *yarn_install
- *setup_bazel_remote_execution
- attach_workspace:
at: dist
# Build the e2e tests using the existing Bazel "packages-dist" output that has been
# attached to this job. This avoids multiple rebuilds across various CI jobs.
- run: ./scripts/build-e2e-tests.sh --use-existing-packages-dist
- run:
name: Starting servers for e2e tests
command: yarn gulp serve
background: true
- run: NODE_PATH=$NODE_PATH:./dist/all yarn protractor ./protractor-e2e.conf.js --bundles=true
- run: NODE_PATH=$NODE_PATH:./dist/all yarn protractor ./protractor-perf.conf.js --bundles=true --dryrun

legacy-misc-tests:
<<: *job_defaults
steps:
- checkout:
<<: *post_checkout
- restore_cache:
key: *cache_key
- *define_env_vars
- *yarn_install
- attach_workspace:
at: dist
- run: yarn gulp check-cycle
# TODO: disabled because the Bazel packages-dist does not seem to have map files for
# the ESM5/ES2015 output. See: https://github.com/angular/angular/issues/27966
# - run: yarn gulp source-map-test

workflows:
version: 2
default_workflow:
Expand All @@ -408,19 +493,27 @@ workflows:
- test_ivy_aot
- build-packages-dist
- test_aio
- legacy-unit-tests-local
- legacy-unit-tests-saucelabs
- deploy_aio:
requires:
- test_aio
- legacy-e2e-tests:
requires:
- build-packages-dist
- legacy-misc-tests:
requires:
- build-packages-dist
- test_aio_local:
requires:
- build-packages-dist
- test_aio_tools:
- test_aio_local_ivy:
requires:
- build-packages-dist
- test_docs_examples_0:
- test_aio_tools:
requires:
- build-packages-dist
- test_docs_examples_1:
- test_docs_examples:
requires:
- build-packages-dist
- aio_preview:
Expand All @@ -446,11 +539,16 @@ workflows:
- integration_test
# Only publish if `aio`/`docs` tests using the locally built Angular packages pass
- test_aio_local
- test_docs_examples_0
- test_docs_examples_1
- test_aio_local_ivy
- test_docs_examples
# Get the artifacts to publish from the build-packages-dist job
# since the publishing script expects the legacy outputs layout.
- build-packages-dist
- legacy-e2e-tests
- legacy-misc-tests
- legacy-unit-tests-local
- legacy-unit-tests-saucelabs


aio_monitoring:
jobs:
Expand All @@ -462,3 +560,9 @@ workflows:
branches:
only:
- master

# TODO:
# - don't build the g3 branch
# - verify that we are bootstrapping with the right yarn version coming from the docker image
# - check local chrome version pulled from docker image
# - remove /tools/ngcontainer
35 changes: 31 additions & 4 deletions .circleci/env.sh
Original file line number Diff line number Diff line change
@@ -1,22 +1,28 @@
#!/usr/bin/env bash

# Load helpers and make them available everywhere (through `$BASH_ENV`).
# Variables
readonly envHelpersPath="`dirname $0`/env-helpers.inc.sh";
readonly getCommitRangePath="`dirname $0`/get-commit-range.js";

# Load helpers and make them available everywhere (through `$BASH_ENV`).
source $envHelpersPath;
echo "source $envHelpersPath;" >> $BASH_ENV;


####################################################################################################
# Define PUBLIC environment variables for CircleCI.
####################################################################################################
# See https://circleci.com/docs/2.0/env-vars/#built-in-environment-variables for more info.
####################################################################################################
setPublicVar PROJECT_ROOT "$(pwd)";
setPublicVar CI_AIO_MIN_PWA_SCORE "95";
# This is the branch being built; e.g. `pull/12345` for PR builds.
setPublicVar CI_BRANCH "$CIRCLE_BRANCH";
setPublicVar CI_COMMIT "$CIRCLE_SHA1";
# `CI_COMMIT_RANGE` will only be available when `CIRCLE_COMPARE_URL` is also available,
# i.e. on push builds (a.k.a. non-PR builds). That is fine, since we only need it in push builds.
setPublicVar CI_COMMIT_RANGE "$(sed -r 's|^.*/([0-9a-f]+\.\.\.[0-9a-f]+)$|\1|i' <<< ${CIRCLE_COMPARE_URL:-})";
# `CI_COMMIT_RANGE` will only be available when `CIRCLE_COMPARE_URL` is also available (or can be
# retrieved via `get-compare-url.js`), i.e. on push builds (a.k.a. non-PR, non-scheduled builds and
# rerun workflows of such builds). That is fine, since we only need it in push builds.
setPublicVar CI_COMMIT_RANGE "`[[ ${CIRCLE_PR_NUMBER:-false} != false ]] && echo "" || node $getCommitRangePath "$CIRCLE_BUILD_NUM" "$CIRCLE_COMPARE_URL"`";
setPublicVar CI_PULL_REQUEST "${CIRCLE_PR_NUMBER:-false}";
setPublicVar CI_REPO_NAME "$CIRCLE_PROJECT_REPONAME";
setPublicVar CI_REPO_OWNER "$CIRCLE_PROJECT_USERNAME";
Expand All @@ -31,5 +37,26 @@ setSecretVar CI_SECRET_PAYLOAD_FIREBASE_TOKEN "$ANGULAR_PAYLOAD_TOKEN";
setSecretVar CI_SECRET_SLACK_CARETAKER_WEBHOOK_URL "$SLACK_CARETAKER_WEBHOOK_URL";


####################################################################################################
# Define SauceLabs environment variables for CircleCI.
####################################################################################################
# In order to have a meaningful SauceLabs badge on the repo page,
# the angular2-ci account is used only when pushing commits to master;
# in all other cases, the regular angular-ci account is used.
if [ "${CI_PULL_REQUEST}" = "false" ] && [ "${CI_REPO_OWNER}" = "angular" ] && [ "${CI_BRANCH}" = "master" ]; then
setPublicVar SAUCE_USERNAME "angular2-ci";
setSecretVar SAUCE_ACCESS_KEY "693ebc16208a-0b5b-1614-8d66-a2662f4e";
else
setPublicVar SAUCE_USERNAME "angular-ci";
setSecretVar SAUCE_ACCESS_KEY "9b988f434ff8-fbca-8aa4-4ae3-35442987";
fi
setPublicVar SAUCE_READY_FILE /tmp/angular/sauce-connect-ready-file.lock
setPublicVar SAUCE_PID_FILE /tmp/angular/sauce-connect-pid-file.lock
setPublicVar SAUCE_TUNNEL_IDENTIFIER "angular-${CIRCLE_BUILD_NUM}-${CIRCLE_NODE_INDEX}"
# Amount of seconds we wait for sauceconnect to establish a tunnel instance. In order to not
# acquire CircleCI instances for too long if sauceconnect failed, we need a connect timeout.
setPublicVar SAUCE_READY_FILE_TIMEOUT 120


# Source `$BASH_ENV` to make the variables available immediately.
source $BASH_ENV;
Loading