path: root/monitor/linaro.json
diff options
authorDavid Spickett <david.spickett@linaro.org>2021-04-29 09:37:00 +0100
committerDavid Spickett <david.spickett@linaro.org>2021-09-13 10:14:48 +0100
commit30a986f409ee01d8f01dd5eb7bb8552ca77fb487 (patch)
tree7e5c5487d66c39b1a30d6b0da05b2bf1cef832b1 /monitor/linaro.json
parent19ba7f735bda3cb2f84f827e973e3c89efe53c78 (diff)
llvmbot monitor: Add Libcxx buildkite bots
This adds the 6 libcxx buildkite bots to the status page. These bots build pre-commit changes from Phabricator and scheduled post commit builds of the main llvm branch. For this page we will only be showing the status of the last post commit build. If there's something wrong with pre-commit builds that isn't the changes themselves, libcxx maintainers can ping us. To get this status we're using the buildkite API (https://buildkite.com/docs/apis/rest-api) via the pybuildkite module (https://pypi.org/project/pybuildkite/). Although this is a fairly thin wrapper around requests I think it'll insulate us some from future API changes. Plus it's not difficult to install, the main dependency is requests itself. To authenticate we are using a token I have generated from my buildkite account. Any account that has been made a member of the llvm-project organisation can generate a token to use. This token should be placed in a file ~/.buildkite_token for the script to access it. We're making the assumption that the host machine is only accessible to users who would be able to generate their own tokens anyway so having it on disk isn't a big deal. For more info see: https://linaro.atlassian.net/wiki/spaces/TCWG/pages/22405546190/Buildkite+Bot+Maintenance If the script cannot find it or the file is empty, it will just carry on and show buildbot status only. I have copied the info schema from the buildbot status values for the most part. If you set the "name" of a section to "Buildkite" it will be treated as such. I have added a "valid" key in the buildkite info so we can differentiate between having no API access, and having API access but not finding any build info. Valid empty entry means we don't have access, empty and not valid means we failed to read the status. Each builder listed for buildkite isn't a builder but a job that an agent will pick up. In our case, the Arm jobs from the libcxx build. (the same way that the Armv7 buildbots are served by multiple agents) Note that the link in the "Bot" column requires a buildkite login and links to the actual agent that ran the job. "Build" links will always point to the same build for all bots but each one will open the specific section for that configuration. Change-Id: Icdc02305551cd8a585e06f33bce2fb7386063daf
Diffstat (limited to 'monitor/linaro.json')
1 files changed, 20 insertions, 0 deletions
diff --git a/monitor/linaro.json b/monitor/linaro.json
index bfe2b24..6f16ddd 100644
--- a/monitor/linaro.json
+++ b/monitor/linaro.json
@@ -115,5 +115,25 @@
+ },
+ {
+ "name": "Buildkite",
+ "base_url": "https://www.buildkite.com",
+ "buildkite_org": "llvm-project",
+ "builder_url": "builders",
+ "build_url": "builds",
+ "builders": [
+ {
+ "name": "Libcxx Bots",
+ "bots": [
+ { "name": "Armv7", "buildkite_pipeline": "libcxx-ci" },
+ { "name": "Armv7 -fno-exceptions", "buildkite_pipeline": "libcxx-ci" },
+ { "name": "Armv8", "buildkite_pipeline": "libcxx-ci" },
+ { "name": "Armv8 -fno-exceptions", "buildkite_pipeline": "libcxx-ci" },
+ { "name": "AArch64", "buildkite_pipeline": "libcxx-ci" },
+ { "name": "AArch64 -fno-exceptions", "buildkite_pipeline": "libcxx-ci" }
+ ]
+ }
+ ]