Skip to content

docs: update the continuous integration story #11492

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

Merged
merged 1 commit into from
Jul 15, 2018

Conversation

CharlesSuttie
Copy link
Contributor

@CharlesSuttie CharlesSuttie commented Jul 7, 2018

This PR aims to update the CircleCi and Travis configurations in the continuous integration story.

The main changes are:

  • update ng test and ng e2e command flags for version 6
  • use npm ci instead of npm install
  • use headless chrome instead of chrome

To assist review:

  • a link to the story in my fork is here.
  • A demo Angular Cli app has been created using the new instructions and configuration files proposed by this PR.

I have endeavored to maintain the style and simplicity of the story. All comments are very welcome.

@filipesilva, I noticed this comment and would be happy to include what you said in this PR.

I feel this PR closes #10677 because the essential problem there was that the flags for the ng test and ng e2e commands changed with version 6. This PR also builds on #11445 and updates the ng test --browsers flag and the ng e2e --protractor-config flag, bringing the flags up to date with version 6.

@googlebot
Copy link

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please visit https://cla.developers.google.com/ to sign.

Once you've signed (or fixed any issues), please reply here (e.g. I signed it!) and we'll verify it.


What to do if you already signed the CLA

Individual signers
Corporate signers

@CharlesSuttie
Copy link
Contributor Author

I signed it!

@googlebot
Copy link

CLAs look good, thanks!

@googlebot googlebot added cla: yes and removed cla: no labels Jul 7, 2018
@CharlesSuttie CharlesSuttie changed the title Update the continuous integration story docs: update the continuous integration story Jul 8, 2018
Copy link
Contributor

@filipesilva filipesilva left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Heya, thanks for updating this!

I left a question about npm ci, a naming nitpick, and since you mentioned #11116 (comment) I would like to ask you to add it to.

Using ChromeHeadless has some caveats to it (see https://github.com/angular/protractor/blob/master/docs/browser-setup.md#using-headless-chrome) but I think for most users it should be ok so no need to highlight it.

I also feel you've succeeded in maintaining the style of the original doc, cheers!


# install the latest npm to allow use of 'npm ci'
- run: sudo npm install -g npm@latest
- run: npm ci
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have you checked if npm ci is faster than using cache on the CI? Last time I checked npm ci was much slower.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, you're quite right, using the cache is much faster.

ChromeNoSandbox: {
base: 'Chrome',
flags: ['--no-sandbox']
myChromeHeadless: {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: what do you think of ChromeHeadlessCI instead? I feel the my prefix doesn't say much about what's going on.

@@ -76,28 +79,23 @@ jobs:
build:
working_directory: ~/my-project
docker:
- image: circleci/node:8-browsers
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When you provide only the major version, docker will always choose the most recent version.
E.g. image: circleci/node:10-browsers and then running node -v yields: v10.6.0

I would recommend reverting this change back to - image: circleci/node:8-browsers

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @markgoho, good point!

Copy link
Contributor

@filipesilva filipesilva left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the changes look good, but due to the way we parse commit messages you will need to squash all of these into a single commit.

I think the easiest way to do this is rebasing and marking the second and third commits as fixups.

@CharlesSuttie CharlesSuttie force-pushed the docs-update-ci-story branch from adef286 to 0fe94cb Compare July 14, 2018 03:54
update the CircleCi and Travis configurations
update ng test and ng e2e command flags for version 6
use headless chrome instead of chrome
add guidance on ChromeDriver

closes angular#10677
@CharlesSuttie CharlesSuttie force-pushed the docs-update-ci-story branch from 0fe94cb to db1d410 Compare July 14, 2018 04:08
@CharlesSuttie
Copy link
Contributor Author

CharlesSuttie commented Jul 14, 2018

Thanks @filipesilva ! I've rebased, squashed the commits into a single commit with an updated message (to remove the reference to npm ci and add a reference to the guidance on ChromeDriver). This is my first time contributing and I'm not totally confident I have the git part the way you would like, so please forgive me if I've made a mistake here.

Copy link
Contributor

@filipesilva filipesilva left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The rebase went well, cheers!

@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 12, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Wiki: Continuous Integration Story: "Unknown option" errors
5 participants