Skip to content

build: introduce remote bazel caching - #27358

Closed
mgechev wants to merge 1 commit into
angular:masterfrom
mgechev:minko/bazel-remote-caching
Closed

mgechev wants to merge 1 commit into
angular:masterfrom
mgechev:minko/bazel-remote-caching

Conversation

@mgechev

@mgechev mgechev commented Nov 29, 2018

Copy link
Copy Markdown
Member

This PR introduces:

  1. Google Cloud Store bucket which contains build artifacts
  2. Documentation on how to enable remote caching in development

Each team member should download a service key. More convenient ways of authentication would be more obscure and prevent us from doing identity tracking of the produced artifacts.

PR Checklist

Please check if your PR fulfills the following requirements:

PR Type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Documentation content changes
  • angular.io application / infrastructure changes
  • Other... Please describe:

What is the current behavior?

No remote caching for Angular core developers.

What is the new behavior?

Enables remote caching.

Does this PR introduce a breaking change?

  • Yes
  • No

Other information

Comment thread docs/BAZEL.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

should make a service account just for developer remote caching I think

Comment thread docs/BAZEL.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

add the indirection so that we don't try to maintain code in user's un-versioned files (the remote_http_cache key in particular)

Comment thread docs/BAZEL.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

angular-team-cache ?

@alexeagle alexeagle added merge: caretaker note Alert the caretaker performing the merge to check the PR for an out of normal action needed or note target: patch This PR is targeted for the next patch release and removed merge: caretaker note Alert the caretaker performing the merge to check the PR for an out of normal action needed or note labels Nov 30, 2018
Comment thread docs/BAZEL.md Outdated

@alexeagle alexeagle Dec 1, 2018 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

putting it in the users global .bazelrc doesn't work, because in some other workspace where I run bazel I get
ERROR: Config value angular-team is not defined in any .rc file

Instead we should instruct users to create a .bazelrc.user file in the root of their Angular project, which we add to .gitignore, and they should put this line in that file.

Then to get that file included in the Bazel options, add a line to the checked-in .bazelrc like

# Load any settings specific to the current user
try-import .bazelrc.user

see https://docs.bazel.build/versions/master/best-practices.html#bazelrc

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Done

Comment thread .gitignore Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

extra e - this doesn't match any files (both on this line and the line above)

Comment thread .bazelrc Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit: leading space on this line

Comment thread docs/BAZEL.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit: "project" is badly overloaded, I'd say "workspace" or maybe even "next to the .bazelrc file"

@alexeagle alexeagle added the merge: caretaker note Alert the caretaker performing the merge to check the PR for an out of normal action needed or note label Dec 3, 2018
@IgorMinar IgorMinar added the action: merge The PR is ready for merge by the caretaker label Dec 5, 2018
@ngbot

ngbot Bot commented Dec 5, 2018

Copy link
Copy Markdown

I see that you just added the PR action: merge label, but the following checks are still failing:
    failure status "ci/circleci: aio_preview" is failing
    failure status "ci/circleci: test_aio" is failing
    failure status "ci/circleci: test_aio_tools" is failing
    failure status "ci/circleci: test_docs_examples_1" is failing
    failure status "ci/circleci: test_aio_local" is failing
    failure status "ci/circleci: test_docs_examples_0" is failing
    failure status "continuous-integration/travis-ci/pr" is failing

If you want your PR to be merged, it has to pass all the CI checks.

If you can't get the PR to a green state due to flakes or broken master, please try rebasing to master and/or restarting the CI job. If that fails and you believe that the issue is not due to your change, please contact the caretaker and ask for help.

@IgorMinar

Copy link
Copy Markdown
Contributor

This PR has no description as to what kind of assistance you need from a caretaker. Please provide one.

@IgorMinar

Copy link
Copy Markdown
Contributor

I suggest that you rebase this PR on top of master because most of the CI failures are due to npm registry removing the malicious event-stream package.

This PR introduces:

1. Google Cloud Store bucket which contains build artifacts
2. Documentation on how to enable remote caching in development

Each team member should download a service key. More convenient ways of authentication would be more obscure and prevent us from doing identity tracking of the produced artifacts.
@alexeagle alexeagle removed the merge: caretaker note Alert the caretaker performing the merge to check the PR for an out of normal action needed or note label Dec 6, 2018
IgorMinar pushed a commit that referenced this pull request Dec 6, 2018
This PR introduces:

1. Google Cloud Store bucket which contains build artifacts
2. Documentation on how to enable remote caching in development

Each team member should download a service key. More convenient ways of authentication would be more obscure and prevent us from doing identity tracking of the produced artifacts.

PR Close #27358
@IgorMinar IgorMinar closed this in 7f221d8 Dec 6, 2018
@mgechev
mgechev deleted the minko/bazel-remote-caching branch December 13, 2018 22:48
@angular-automatic-lock-bot

Copy link
Copy Markdown

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 14, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

action: merge The PR is ready for merge by the caretaker cla: yes target: patch This PR is targeted for the next patch release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants