OLD | NEW |
1 # Updating clang | 1 # Updating clang |
2 | 2 |
3 1. Sync your Chromium tree to the latest revision to pick up any plugin | 3 1. Sync your Chromium tree to the latest revision to pick up any plugin |
4 changes | 4 changes |
5 1. Run `python tools/clang/scripts/upload_revision.py --clang_revision=NNNN` | 5 1. Run `python tools/clang/scripts/upload_revision.py --clang_revision=NNNN` |
6 with the target LLVM SVN revision number. This creates a roll CL on a new | 6 with the target LLVM SVN revision number. This creates a roll CL on a new |
7 branch, uploads it and starts tryjobs that build the compiler binaries into | 7 branch, uploads it and starts tryjobs that build the compiler binaries into |
8 a staging bucket on Google Cloud Storage (GCS). | 8 a staging bucket on Google Cloud Storage (GCS). |
9 1. If the clang upload try bots succeed, copy the binaries from the staging | 9 1. If the clang upload try bots succeed, copy the binaries from the staging |
10 bucket to the production one. For example: | 10 bucket to the production one. For example: |
11 | 11 |
12 ``` | 12 ``` |
13 $ export rev=123456-1 | 13 $ export rev=123456-1 |
14 $ for x in Linux_x64 Mac Win ; do \ | 14 $ for x in Linux_x64 Mac Win ; do \ |
15 gsutil cp -n -a public-read gs://chromium-browser-clang-staging/$x/clang-$re
v.tgz \ | 15 gsutil cp -n -a public-read gs://chromium-browser-clang-staging/$x/clang-$re
v.tgz \ |
16 gs://chromium-browser-clang/$x/clang-$rev.tgz ; \ | 16 gs://chromium-browser-clang/$x/clang-$rev.tgz ; \ |
17 gsutil cp -n -a public-read gs://chromium-browser-clang-staging/$x/llvmobjdu
mp-$rev.tgz \ | 17 gsutil cp -n -a public-read gs://chromium-browser-clang-staging/$x/llvmobjdu
mp-$rev.tgz \ |
18 gs://chromium-browser-clang/$x/llvmobjdump-$rev.tgz ; \ | 18 gs://chromium-browser-clang/$x/llvmobjdump-$rev.tgz ; \ |
| 19 gsutil cp -n -a public-read gs://chromium-browser-clang-staging/$x/translati
on_unit-$rev.tgz \ |
| 20 gs://chromium-browser-clang/$x/translation_unit-$rev.tgz ; \ |
19 done | 21 done |
20 $ gsutil cp -n -a public-read gs://chromium-browser-clang-staging/Linux_x64/llvm
gold-$rev.tgz \ | 22 $ gsutil cp -n -a public-read gs://chromium-browser-clang-staging/Linux_x64/llvm
gold-$rev.tgz \ |
21 gs://chromium-browser-clang/Linux_x64/llvmgold-$rev.tgz | 23 gs://chromium-browser-clang/Linux_x64/llvmgold-$rev.tgz |
22 ``` | 24 ``` |
23 | 25 |
24 1. Run the goma package update script to push these packages to goma. If you do | 26 1. Run the goma package update script to push these packages to goma. If you do |
25 not have the necessary credentials to do the upload, ask clang@chromium.org | 27 not have the necessary credentials to do the upload, ask clang@chromium.org |
26 to find someone who does | 28 to find someone who does |
27 1. Run an exhaustive set of try jobs to test the new compiler: | 29 1. Run an exhaustive set of try jobs to test the new compiler: |
28 ``` | 30 ``` |
29 git cl try && | 31 git cl try && |
30 git cl try -m tryserver.chromium.mac -b mac_chromium_asan_rel_ng && | 32 git cl try -m tryserver.chromium.mac -b mac_chromium_asan_rel_ng && |
31 git cl try -m tryserver.chromium.linux -b linux_chromium_chromeos_dbg_ng \ | 33 git cl try -m tryserver.chromium.linux -b linux_chromium_chromeos_dbg_ng \ |
32 -b linux_chromium_chromeos_asan_rel_ng -b linux_chromium_msan_rel_ng && | 34 -b linux_chromium_chromeos_asan_rel_ng -b linux_chromium_msan_rel_ng && |
33 git cl try -m tryserver.blink -b linux_trusty_blink_rel | 35 git cl try -m tryserver.blink -b linux_trusty_blink_rel |
34 ``` | 36 ``` |
35 1. Commit roll CL from the first step | 37 1. Commit roll CL from the first step |
36 1. The bots will now pull the prebuilt binary, and goma will have a matching | 38 1. The bots will now pull the prebuilt binary, and goma will have a matching |
37 binary, too. | 39 binary, too. |
OLD | NEW |