brave-core icon indicating copy to clipboard operation
brave-core copied to clipboard

Harden depot_tools install and support revision enforcement.

Open goodov opened this issue 11 months ago • 0 comments

This change improves depot_tools install in two ways:

  1. guard the install process, so in case a CI job is aborted during the install, the depot_tools will be re-installed from scratch on next run
  2. support depot_tools reference and git repository changing via .env file:
# depot_tools can be fetched from another repository:
projects_depot_tools_repository_url=https://github.com/brave/depot_tools.git

# revision, tag or branch can be enforced:
projects_depot_tools_revision=fe6a359a803f55829ede3666215d080f6775f173
projects_depot_tools_tag=brave_cr123
projects_depot_tools_branch=main

The main use case for this is: "depot_tools revision enforcement" feature on CI that can be enabled globally for all jobs in case a breaking depot_tools roll happens.

Resolves https://github.com/brave/brave-browser/issues/36673

Submitter Checklist:

  • [x] I confirm that no security/privacy review is needed and no other type of reviews are needed, or that I have requested them
  • [x] There is a ticket for my issue
  • [x] Used Github auto-closing keywords in the PR description above
  • [x] Wrote a good PR/commit description
  • [ ] Squashed any review feedback or "fixup" commits before merge, so that history is a record of what happened in the repo, not your PR
  • [ ] Added appropriate labels (QA/Yes or QA/No; release-notes/include or release-notes/exclude; OS/...) to the associated issue
  • [ ] Checked the PR locally:
    • npm run test -- brave_browser_tests, npm run test -- brave_unit_tests wiki
    • npm run presubmit wiki, npm run gn_check, npm run tslint
  • [ ] Ran git rebase master (if needed)

Reviewer Checklist:

  • [ ] A security review is not needed, or a link to one is included in the PR description
  • [ ] New files have MPL-2.0 license header
  • [ ] Adequate test coverage exists to prevent regressions
  • [ ] Major classes, functions and non-trivial code blocks are well-commented
  • [ ] Changes in component dependencies are properly reflected in gn
  • [ ] Code follows the style guide
  • [ ] Test plan is specified in PR before merging

After-merge Checklist:

  • [ ] The associated issue milestone is set to the smallest version that the changes has landed on
  • [ ] All relevant documentation has been updated, for instance:
    • [ ] https://github.com/brave/brave-browser/wiki/Deviations-from-Chromium-(features-we-disable-or-remove)
    • [ ] https://github.com/brave/brave-browser/wiki/Proxy-redirected-URLs
    • [ ] https://github.com/brave/brave-browser/wiki/Fingerprinting-Protections
    • [ ] https://github.com/brave/brave-browser/wiki/Brave%E2%80%99s-Use-of-Referral-Codes
    • [ ] https://github.com/brave/brave-browser/wiki/Web-Compatibility-Exceptions-in-Brave
    • [ ] https://github.com/brave/brave-browser/wiki/QA-Guide
    • [ ] https://github.com/brave/brave-browser/wiki/P3A

Test Plan:

goodov avatar Mar 13 '24 15:03 goodov