Skip to content

Commit

Permalink
ci: use the local Angular packages when testing AIO/docs examples wit…
Browse files Browse the repository at this point in the history
…h RxJS v7 (#43683)

The `test_aio_local` and `test_docs_examples` CI jobs, test the AIO app
and the docs examples using the locally built Angular packages. They
also include steps that install RxJS v7 and test the examples against
that as well, to avoid regressions with RxJS v7.

However, it turns out that the `yarn add` command used to install
RxJS v7 caused yarn to overwrite the local Agular packages in
`node_modules/` with the ones from NPM.

This commit ensures that the local Angular packages are restored in
`node_modules/` after adding RxJS v7. It also adds a check to ensure
that the restoration of local Angular packages did not affect the
version of RxJS.

PR Close #43683
  • Loading branch information
gkalpak authored and dylhunn committed Oct 6, 2021
1 parent ef090d1 commit 99e18a0
Showing 1 changed file with 24 additions and 4 deletions.
28 changes: 24 additions & 4 deletions .circleci/config.yml
Expand Up @@ -431,6 +431,8 @@ jobs:

test_aio_local:
executor: default-executor
environment:
RXJS_VERSION_7: '7.1.0'
steps:
- custom_attach_workspace
- init_environment
Expand All @@ -446,7 +448,15 @@ jobs:
# Check the bundle sizes.
- run: yarn --cwd aio payload-size aio-local
# Run tests with RxJS v7.
- run: yarn --cwd aio add rxjs@7.1.0
- run: yarn --cwd aio add rxjs@$RXJS_VERSION_7 && yarn --cwd aio aio-use-local
- run:
name: Ensure we use RxJS v7
command: >-
node --eval "
const expected = process.env.RXJS_VERSION_7;
const actual = require('./aio/node_modules/rxjs/package.json').version;
assert(actual === expected, 'Expected RxJS v' + expected + ', but found v' + actual + '.');
"
- run: yarn --cwd aio test --progress=false --watch=false

test_aio_tools:
Expand All @@ -466,6 +476,8 @@ jobs:
name: default-executor
resource_class: xlarge
parallelism: 5
environment:
RXJS_VERSION_7: '7.1.0'
steps:
- custom_attach_workspace
- init_environment
Expand All @@ -477,8 +489,16 @@ jobs:
# with either "0", "1", etc as node index. This can be passed to the "--shard" argument.
- run: yarn --cwd aio example-e2e --setup --local --cliSpecsConcurrency=5 --shard=${CIRCLE_NODE_INDEX}/${CIRCLE_NODE_TOTAL}
# Run tests with RxJS v7.
# (Exclude some examples that are not yet compatible with v7.)
- run: yarn --cwd aio/tools/examples/shared add rxjs@7.1.0 && yarn --cwd aio boilerplate:add
- run: yarn --cwd aio/tools/examples/shared add rxjs@$RXJS_VERSION_7 && yarn --cwd aio example-use-local && yarn --cwd aio boilerplate:add
- run:
name: Ensure we use RxJS v7
command: >-
node --eval "
const expected = process.env.RXJS_VERSION_7;
const actual = require('./aio/tools/examples/shared/node_modules/rxjs/package.json').version;
assert(actual === expected, 'Expected RxJS v' + expected + ', but found v' + actual + '.');
"
# Exclude some examples that are not yet compatible with v7.
- run: yarn --cwd aio example-e2e --cliSpecsConcurrency=5 --shard=${CIRCLE_NODE_INDEX}/${CIRCLE_NODE_TOTAL} --exclude=practical-observable-usage --exclude=upgrade-module --exclude=upgrade-phonecat

# This job should only be run on PR builds, where `CI_PULL_REQUEST` is not `false`.
Expand All @@ -492,7 +512,7 @@ jobs:
- run: ./aio/scripts/build-artifacts.sh $AIO_SNAPSHOT_ARTIFACT_PATH $CI_PULL_REQUEST $CI_COMMIT
- store_artifacts:
path: *aio_preview_artifact_path
# The `destination` needs to be kept in synch with the value of
# The `destination` needs to be kept in sync with the value of
# `AIO_ARTIFACT_PATH` in `aio/aio-builds-setup/Dockerfile`
destination: aio/dist/aio-snapshot.tgz
- run: node ./aio/scripts/create-preview $CIRCLE_BUILD_NUM
Expand Down

0 comments on commit 99e18a0

Please sign in to comment.