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 NNNN` | 5 1. Run `python tools/clang/scripts/upload_revision.py 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 \ | 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 ; \ | 20 gs://chromium-browser-clang/$x/translation_unit-$rev.tgz ; \ |
21 done | 21 done |
22 $ gsutil cp -n -a public-read gs://chromium-browser-clang-staging/Linux_x64/llvm
gold-$rev.tgz \ | |
23 gs://chromium-browser-clang/Linux_x64/llvmgold-$rev.tgz | |
24 ``` | 22 ``` |
25 | 23 |
26 1. Run the goma package update script to push these packages to goma. If you do | 24 1. Run the goma package update script to push these packages to goma. If you do |
27 not have the necessary credentials to do the upload, ask clang@chromium.org | 25 not have the necessary credentials to do the upload, ask clang@chromium.org |
28 to find someone who does | 26 to find someone who does |
29 1. Run an exhaustive set of try jobs to test the new compiler: | 27 1. Run an exhaustive set of try jobs to test the new compiler: |
30 ``` | 28 ``` |
31 git cl try && | 29 git cl try && |
32 git cl try -m tryserver.chromium.mac -b mac_chromium_asan_rel_ng && | 30 git cl try -m tryserver.chromium.mac -b mac_chromium_asan_rel_ng && |
33 git cl try -m tryserver.chromium.linux -b linux_chromium_chromeos_dbg_ng \ | 31 git cl try -m tryserver.chromium.linux -b linux_chromium_chromeos_dbg_ng \ |
34 -b linux_chromium_chromeos_asan_rel_ng -b linux_chromium_msan_rel_ng && | 32 -b linux_chromium_chromeos_asan_rel_ng -b linux_chromium_msan_rel_ng && |
35 git cl try -m tryserver.blink -b linux_trusty_blink_rel | 33 git cl try -m tryserver.blink -b linux_trusty_blink_rel |
36 ``` | 34 ``` |
37 1. Commit roll CL from the first step | 35 1. Commit roll CL from the first step |
38 1. The bots will now pull the prebuilt binary, and goma will have a matching | 36 1. The bots will now pull the prebuilt binary, and goma will have a matching |
39 binary, too. | 37 binary, too. |
OLD | NEW |