AgeCommit message (Collapse)Author
2020-05-13Add LLDB bots to llvm buildbot monitoring pageHEADmasterMuhammad Omair Javaid
This patch edits the monitor/linaro.json to add LLDB ARM and AArch64 buildbots running on normal master. Change-Id: I054fdeabb94e536735ca7d1f191cf5a71f904208
2020-04-23Display build time on the bot monitoring pageOliver Stannard
Change-Id: Ic901b42afdbb01d7aa5248286f5e7d6607c4ec1c
2020-04-20Update llvm bot monitor for git hashesOliver Stannard
- The revisions are now git hashes, so don't try to parse them as integers. - Truncate hashes to 8 characters for user-facing display. - The JSON object returned by buildbot has the commits in time order, so we don't need to iterate the whole list to find the first and last ones. Change-Id: I818f36a65b85b23a64017106494e56141095966e
2019-08-23[monitor] Remove armv8/thumbv8 botsDiana Picus
Remove all armv8/thumbv8 bots, which don't exist anymore (except clang-cmake-armv8-lld). Also add clang-cmake-thumbv7-full-sh to the test-suite category as well, since it's now also running the test-suite. Change-Id: I76c4982da55b7c6815af7fe5c40124c8ea387146
2019-06-13Fix typosMaxim Kuvyrkov
Change-Id: Ief86fc116f3643e9b0f128ad21f4e1151d1b5c61
2019-06-11Return clang-native-arm-lnt-perf to the normal serverPeter Smith
The clang-native-arm-lnt-perf has been providing stable enough results to take it off the silent master and put it on the normal master. Change-Id: Ibaf31047517cd172ba80ab8f40a62c50ce83c37d
2019-02-15monitor: aarch64-lld bot is fullDiana Picus
clang-cmake-aarch64-lld has compiler-rt enabled, so we should list it as a full bot on the monitoring page. Change-Id: Ifcc3982f84c552516ac6a0ff438ceac00509a717
2018-08-11monitor: Add clang-cmake-armv8-lld botMaxim Kuvyrkov
Change-Id: I6635b8569f682e6ed15bde57725dc835c26f2571
2018-03-02Remove Clang-Tools-Extra from old scriptsRenato Golin
The new Python version dropped support for tools-extra but if you want to use the old scripts (because of conflicts with Python imports), the extra repo gets in the way. Not urgent, but worth a change. Change-Id: I2ea47092b474e8f6d3b65a9e2edec3952c199496
2018-02-24monitor/linaro.json: Add missing armv8 quick and libcxx bots.Maxim Kuvyrkov
Change-Id: Ia9ee56eff07c95edf0a452d4a2aa9a32e23c940e
2018-02-24monitor/linaro.json: Fix typos.Maxim Kuvyrkov
Change-Id: I9c9af708b824e377b6bef0da6d12e753a2983bd5
2018-02-24monitor/linaro.json: Update builder names and add armv8 32-bit builders.Maxim Kuvyrkov
Change-Id: I7b24dcd6eeb77370e934b71fa48f04d33b50f26a
2018-02-06Update LLVM bot configuration in the monitor.Maxim Kuvyrkov
Change-Id: I8c4e644ce38500956f0ffebf97424f2d4792a608
2017-11-13[monitor] Update buildbots listDiana Picus
Update the buildbots list in linaro.json to match the reality. The new list is copied from our current monitor, which we have been updating over time. Change-Id: I046db3299aa43a6895b2aa36c3fd2da0acf8a799
2017-05-30Update release readme to point to JenkinsRenato Golin
Change-Id: I6c84a24d6399dd8efa228aadae7132b5b96cc3ab
2017-05-30Actually update the test-suite READMERenato Golin
Change-Id: I0d2e271922b93f770f66d7c38928b867b4acd260
2017-05-30Update test-suite readme to point to JenkinsRenato Golin
Change-Id: I55d56eacfca9e1f5adb1e582289ff9bd631f46ea
2017-04-13[git] Prepare repos with --no-checkoutRenato Golin
This will save space on the main repository, where no one really needs the files checked out anyway. Change-Id: I0414da0e6523b954d0cf90388a53dd423a1855af
2017-04-12Revert "[cron] force arch to v7ve, which is v7a+virt aka A15, to avoid bad ↵Renato Golin
gcc driver choices" This reverts commit 0360ac24913f7654623d3a0b441f625afdbbd9f7. We're using Clang 3.8.0 on our test boards, and that version still didn't have "armv7e". "It worked on my machine" and it took me half a year to reaslise it didn't on the machines. Sigh.
2017-01-19[release] Move to full validationRenato Golin
Change-Id: Ie45be572fb16917d80a08170692a0ac5edffe3ae
2016-12-16Add -Wall to all buildsDiana Picus
This is kind of a no-brainer and we should've done it long ago. Release builds are reasonably clean with clang. Change-Id: I7929c3b5455245113e8068ea61bcfe1f9616c893
2016-10-29[monitor] Fixes server specific cache issueRenato Golin
Change-Id: I7d66a007d01751346347492d2d58e6f3cc59e43d
2016-10-26[cron] add -v to make better logsRenato Golin
Change-Id: Ic0fe5d2af95bb2a91ab7943d94cce675264b94f3
2016-10-26[build] Disabling split-dwarf for now due to possible errorsRenato Golin
Change-Id: Ibb5821ad428e87c3bf64f638632167cac51d70a0
2016-10-23[cron] force arch to v7ve, which is v7a+virt aka A15, to avoid bad gcc ↵Renato Golin
driver choices Change-Id: I449e8810c227129335f273acee8f89cd8174424f
2016-10-21[cron] Fix typo redir erasing logfileRenato Golin
Change-Id: I1c929d4119145830044468d1752b4aa7a6580bea
2016-10-20[cron] anti-flog checks for previous PIDRenato Golin
Change-Id: I27758be09fe3c9e1cd7e9f7e0de331dc4fad9594
2016-10-19[build] adding split-dwrf to llvm-build debugRenato Golin
2016-10-12[cron] fix yet another bug diana found :)Renato Golin
Change-Id: I0566bb95c43c6b6b09553102287cfe4f417dfa66
2016-10-12[cron] ignore your own pidRenato Golin
Change-Id: I9141dab09dab959d1706a09e7aa32d258f9bd65c
2016-10-12[cron] Simplify running checkRenato Golin
Change-Id: Ic55229405393f0692f9158df9efa9143f404eeca
2016-10-12[Cron] Add a new crontab builder for debug purposesRenato Golin
To investigate buildbot failures we rely on the ARM boards we have in the rack. But those boards take ~1h to build LLVM+Clang which does limit a lot on how fast we can test and act. To make that task easier, we decided to have a nightly build on the boards, for ARM and Thumb in debug mode, so we can start from a built tree, or at least a partially built tree if we need a more recent ToT. This script was made to work around crontab deficiencies and has been tested on my chromebook at home. It also makes sure it doesn't build if the script is already running or if the machine is busy or recuperating from a long build, as this may mean there's a bisection going on. Change-Id: I74f38c2ba874a4343bfcc9c24bcd8a157980c210
2016-09-17Add LINK_JOBS logic to all three builder scriptsRenato Golin
The stress, helper and bisect build scripts needed the LLVM_LINK_JOBS option to make sure it doesn't run out of memory while linking, especially in SoCs that have a lot more cores than RAM (ex. HiKey). This patch calculates the jobs by seeing how much RAM the target has and adding +1, as link jobs rarely take more than 1GB, but the final ones do use several hundred. Also making sure we don't exceed the number of cores. A few other small changes: * Replace "else if" by "elif" * Build only minimal targets on ARM (even o full build) * Fixed a -j$PARALLEL bug introduced by a prvious commit * Converted a few backticks into $() Change-Id: If4f2189623338d2924357ecd3d4ee18feb522c32
2016-09-15[monitor] Add direct link to buildsRenato Golin
Adding a direct link to the buil on the build number, to avoid having to click on the bot page *then* the link. With the buildmaster *that* slow, this saves several seconds per lookup, which sometimes can be several dozens every day. Change-Id: If8cd783990042d9c51c318152b35d5b317cb5bf6
2016-09-15[llvm-build] Force lit tests to run in parallelDiana Picus
This is achieved by setting the CMake option LLVM_LIT_ARGS. If we don't do this, lit may decide that it only needs to run on one core. While we're at it, also update the run.sh that we use for bisects to force ninja to use the right number of cores while building. Change-Id: I099697f4a377541f907d8f13f8f807c2a4f901d6
2016-08-02[helpers] Teach llvm-env to self-hostRenato Golin
In addition to debug builds, this teaches llvm-env to create self-hosted bots that will use the "build" directory of the branch to compile a self-hosted version of the toolchain. It'll use clang and also lld, if available. Review changes: * Check for clang, not just build dir * Use -x instead of -f * Always export LLVM_SELFHOST * Quote strings for good measure * Using LLVM_CMAKE_FLAGS Change-Id: I55af0c213ae06cb8b99a33d1a80a05f09fe64c85
2016-07-22[llvm-build] Add -j optionDiana Picus
Allow the user to override the number of CPUs used for building LLVM. The default remains unchanged, so if you're not going to use the -j flag it won't affect you. Change-Id: I2491274a629a505744a80625381fb2c47bafd4da
2016-07-21Separate install directory for each worktreeDiana Picus
The install directory will be <Worktree>/install, right next to the build and source dirs, and it will be exported in LLVM_INSTALL. Note that this won't affect existing worktree directories, you should either nuke the build directories or manually update CMakeCache.txt for them. Change-Id: I8bb80f8d86d9d2f8d02940fbbd8a2c8b5b1a05e3
2016-06-29[llvm-env] List current worktree directories - ErrataDiana Picus
Forgot to add a patch set before merging (I don't know how I didn't notice that...). Errata for Change-Id: I787594ce1ecea0de68ceb0e518194b783da408b3 Change-Id: Ic3fc33cd643fd5d5f9a6d3280af9ab7c898227bc
2016-06-29[llvm-env] List current worktree directoriesDiana Picus
When running llvm-env without any arguments, it now dumps the current worktrees, as well as the branch that is currently checked out in them (only for llvm, to make it easy to spot places where this is different from the environment name). This is a very hacky implementation, because newer versions of git will come with git worktree list, which does exactly what we want. We can nuke this when we're all ready to move to newer gits. Change-Id: I787594ce1ecea0de68ceb0e518194b783da408b3
2016-06-16Allow people to clone from the RO repoDiana Picus
This is necessary in order to allow people outside TCWG to use our scripts Change-Id: Ia1855be8f5a45d6c8b070c782548b6e7bfb11335
2016-06-16Add option to build a certain target (and -h option)Diana Picus
This should allow us to run make/ninja on a given target, e.g. `llvm-build llc` will build only the llc target `llvm-build check-llvm-codegen-aarch64` will only run a subset of the tests This also adds a -h option. Change-Id: I4b2d195ed7f7f4b23f84438068dd1e13a094e947
2016-06-15Use git worktree in the LLVM helper scriptsDiana Picus
This commit adds a new script, llvm-env, which sets up the environment for working with LLVM. It looks for an environment variable LLVM_ROOT and tries to create the following hierarchy: $LLVM_ROOT `- repos | `- llvm | `- clang | `- compiler-rt | [...] `- <branch1> | `- llvm | `- build | `- debug `- <branch2> | `- llvm | `- build | `- debug [...] The $LLVM_ROOT/repos directory contains all the repositories, as checked out by llvm-prepare, and will always track master. For other branches, llvm-env <branch_name> will create a new directory, $LLVM_ROOT/<branch_name>, and will add an llvm worktree directory there. If -d is passed, it will also create a debug directory there, otherwise it will create a build directory. Notice that these 2 can live in parallel, and we can switch between them at any time by invoking llvm-env. It will set LLVM_SRC and LLVM_BLD accordingly, and also modify the path to point to the binaries in LLVM_BLD. The other scripts will now work with the LLVM_SRC and LLVM_BLD set by llvm-env in the current shell. Because llvm-env controls whether or not we're doing a debug build, llvm-build will no longer take a -d flag (it will instead look after a LLVM_DEBUG environment variable, also set by llvm-env). There are changes in llvm-projs, too, because now it no longer creates links - instead it creates worktree directories in the corresponding $LLVM_ROOT/<branch>/llvm. Other scripts have also been updated accordingly. To make things easier, here are some of the changes that I had to make that are not particularly important for the review (pretty mechanical stuff): * Moved function has() from llvm-branch to llvm-common, so I could reuse it * Because of this, I had to rename the has() function in llvm-projs to has_link(), which is actually a better name for it anyway * Disable the checks for LLVM_SRC and LLVM_BLD in llvm-common Change-Id: I9e02f6d8e0c803e79838845013b81331dffba99c
2016-06-15[monitor] moving 42vma bot back upstreamv1.0Renato Golin
2016-06-13[helpers] YCM helperRenato Golin
YouCompleteMe helper, updates the YCM config file once YCM-Generator creates one for you. The steps are: * Install YCM / Generator * Inside Vim, on $LLVM_SRC, run :YcmGenerateConfig * Outside vim, with llvm-env on the same workdir run: llvm-ycm * Re-start vim, all is good Why is this needed? 1. YCM relies on .ycm_extra_conf.py to be precise and correct 2. LLVM includes headers and libraries from both source and build dirs 3. YCM-Generator has no idea about the build dir, so it uses /tmp Note: * You will need to do this for each workdir, as the path has to be absolute * Don't use CMake's compilation_database.json, or header files won't work Change-Id: If14008d96d7198060cb403439db55c234693c837
2016-06-10[monitor] JSON documentationRenato Golin
Change-Id: Ifc143115fa3f6387af27ac4fddbc4bdaa1fca917
2016-06-08[release] Add -jN to test-release.shRenato Golin
Adding the number of cores to the -j option for test-release. Also, fix a bunch of shellcheck warnings. Change-Id: I54ee89534de265e764e95f5ebf094fc6cd1922c2
2016-06-06[monitor] Remove dead Darwin botRenato Golin
Change-Id: Ie6a52a009d8f44988d85bdbb022ead0e88a83f95
2016-06-06[monitor] Fix shellcheck warnings, typoRenato Golin
Change-Id: Iccedb32e03eb2b446497d040cc5533ced5a4979a
2016-06-06[monitor] Move 42VMA to silentRenato Golin
Change-Id: Ie8e5ab8527193ac60d0dbd9fcb7a10baea960d0e