Point to script that automates more of the roll
Change-Id: Id2f645e869506c8a5870131cdb3b9921e37bace2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2238889
Reviewed-by: Nico Weber <[email protected]>
Commit-Queue: Arthur Eubanks <[email protected]>
Cr-Commit-Position: refs/heads/master@{#776806}
diff --git a/docs/updating_clang.md b/docs/updating_clang.md
index 6b15793f..2a8b9354 100644
--- a/docs/updating_clang.md
+++ b/docs/updating_clang.md
@@ -9,48 +9,19 @@
1. Check that https://ci.chromium.org/p/chromium/g/chromium.clang/console
looks reasonably green.
1. Sync your Chromium tree to the latest revision to pick up any plugin
- changes
-1. Run `python tools/clang/scripts/upload_revision.py NNNN`
- with the target LLVM SVN revision number. This creates a roll CL on a new
- branch, uploads it and starts tryjobs that run upstream tests and build
- the compiler binaries into a staging bucket on Google Cloud Storage (GCS).
-1. If the clang upload try bots succeed, copy the binaries from the staging
- bucket to the production one. For example:
-
- ```shell
- $ export rev=n123456-abcd1234-1
- $ for x in Linux_x64 Mac Win ; do \
- gsutil.py cp -n -a public-read gs://chromium-browser-clang-staging/$x/clang-$rev.tgz \
- gs://chromium-browser-clang/$x/clang-$rev.tgz ; \
- gsutil.py cp -n -a public-read gs://chromium-browser-clang-staging/$x/clang-$rev-buildlog.txt \
- gs://chromium-browser-clang/$x/clang-$rev-buildlog.txt ; \
- gsutil.py cp -n -a public-read gs://chromium-browser-clang-staging/$x/clang-tidy-$rev.tgz \
- gs://chromium-browser-clang/$x/clang-tidy-$rev.tgz ; \
- gsutil.py cp -n -a public-read gs://chromium-browser-clang-staging/$x/llvmobjdump-$rev.tgz \
- gs://chromium-browser-clang/$x/llvmobjdump-$rev.tgz ; \
- gsutil.py cp -n -a public-read gs://chromium-browser-clang-staging/$x/translation_unit-$rev.tgz \
- gs://chromium-browser-clang/$x/translation_unit-$rev.tgz ; \
- gsutil.py cp -n -a public-read gs://chromium-browser-clang-staging/$x/llvm-code-coverage-$rev.tgz \
- gs://chromium-browser-clang/$x/llvm-code-coverage-$rev.tgz ; \
- gsutil.py cp -n -a public-read gs://chromium-browser-clang-staging/$x/libclang-$rev.tgz \
- gs://chromium-browser-clang/$x/libclang-$rev.tgz ; \
- done && gsutil.py cp -n -a public-read gs://chromium-browser-clang-staging/Mac/lld-$rev.tgz \
- gs://chromium-browser-clang/Mac/lld-$rev.tgz
- ```
-
- **Note** that writing to this bucket requires special permissions. File a
- bug at g.co/bugatrooper if you don't have these already (e.g.,
- https://crbug.com/1034081).
-
-1. Run the goma package update script to push these packages to goma. If you do
- not have the necessary credentials to do the upload, ask [email protected]
- to find someone who does
+ changes.
+1. Run go/chrome-push-clang-to-goma. This takes a recent dry run CL to update
+ clang, and if the trybots were successful it will copy the binaries from
+ the staging bucket to the production one. Writing to this bucket requires
+ special permissions. File a bug at g.co/bugatrooper if you don't have these
+ already (e.g., https://crbug.com/1034081). Then it will push the packages
+ to goma. If you do not have the necessary credentials to do the upload, ask
+ [email protected] to find someone who does.
1. Run an exhaustive set of try jobs to test the new compiler. The CL
- description created by upload_revision.py includes `Cq-Include-Trybots:`
- lines for all needed bots, so it's sufficient to just run `git cl try`
- (or hit "CQ DRY RUN" on gerrit).
-
-1. Commit roll CL from the first step
+ description created previously by upload_revision.py includes
+ `Cq-Include-Trybots:` lines for all needed bots, so it's sufficient to just
+ run `git cl try` (or hit "CQ DRY RUN" on gerrit).
+1. Commit the roll CL from the previous step.
1. The bots will now pull the prebuilt binary, and goma will have a matching
binary, too.