Stream: IG creation
Topic: FHIR IG builds not showing failures
Lloyd McKenzie (Jul 23 2021 at 03:03):
@Josh Mandel @Mark Iantorno - lower priority than some of the other fires you are/have been fighting, but the https://fhir.github.io/auto-ig-builder/builds.html now only shows successful builds, not failures. It would be very nice if it went back to showing failures as well as successes. (Nice to be able to force a re-build without a meaningless commit, nice to see what's working and what's not, etc.)
Rob Hausam (Jul 23 2021 at 03:05):
I thought I was seeing thumbs downs? But I agree that we should be able to see both?
Lloyd McKenzie (Jul 23 2021 at 03:06):
Thumbs down is working find on #committers/notification. I'm talking about the build dashboard page.
Lloyd McKenzie (Jul 23 2021 at 03:06):
It shows all green for the last 3 years, which seems unlikely (particularly given recent troubles)
Rob Hausam (Jul 23 2021 at 03:19):
Yes, that makes sense.
Josh Mandel (Jul 23 2021 at 03:41):
I've fixed up https://fhir.github.io/auto-ig-builder/builds.html so it's not totally borked. It needs a re-work at some point, since it's literally downloading all the build logs from all the IGs into the browser to determine which ones succeeded and which ones failed. But for now, I just added a request "pool" so it doesn't try to grab hundreds of logs all at once; it now will stick to no more than eight requests at a time :-)
Josh Mandel (Jul 23 2021 at 03:50):
Nice to be able to force a re-build without a meaningless commit, nice to see what's working and what's not, etc.
FWIW I generally use curl for triggering a re-build; instructions at https://github.com/FHIR/auto-ig-builder#if-you-want-to-manually-trigger-a-build
Lloyd McKenzie (Jul 23 2021 at 16:09):
Ok, I'm still only seeing 'green'? (@Josh Mandel )
Josh Mandel (Jul 23 2021 at 16:21):
Open dev tools and look at the network tab -- build failures will only show up in the "Builds" table when the script finishes fetching all the logs (like: 500+ http requests).
Josh Mandel (Jul 23 2021 at 16:21):
This takes ~10sec for me on a fast network connection.
Josh Mandel (Jul 23 2021 at 16:22):
Josh Mandel (Jul 23 2021 at 16:22):
(there are also issues with this dashboard for repos that use main
instead of master
-- they were missing altogether until last night; now they show up but the "logs" links etc are still not right.)
Josh Mandel (Jul 23 2021 at 16:23):
This dashboard was created in 2016 2018 when there were, like... a small smaller number of IGs in the world. It has lasted much longer than I ever though it would, but it's by no means capable of handling our current size (or growth!).
Josh Mandel (Jul 23 2021 at 16:24):
It's time for a rewrite, if anyone's interested ;-)
Mark Iantorno (Jul 23 2021 at 18:03):
What's it written in Josh?
Josh Mandel (Jul 23 2021 at 18:09):
There's two parts:
-
During the IG Auto-build process, every time an IG is built and copied into build.fhir.org, we run this four-line bash script to update the
builds.json
file and theqas.json
file on the CI server. These two files are JSON arrays with entries for every (ig, branch) hosted on build.fhir.org -
https://fhir.github.io/auto-ig-builder/builds.html is HTML/JS (all self-contained) that grabs the builds.json and qas.json files to create a table of builds, and it also grabs all the build logs from the folders on the CI server to determine which builds succeeded vs failed.
Josh Mandel (Jul 23 2021 at 18:11):
It's probably a good idea for (1) to do the additional work of analyzing build log to determine success-vs-failure status, and include this info in builds.json directly, so that way the web page could rely on the builds.json file without also needing to grab/evaluate logs.
Jean Duteau (Jul 28 2021 at 16:02):
Josh Mandel said:
Nice to be able to force a re-build without a meaningless commit, nice to see what's working and what's not, etc.
FWIW I generally use curl for triggering a re-build; instructions at https://github.com/FHIR/auto-ig-builder#if-you-want-to-manually-trigger-a-build
@Josh Mandel I was trying to follow your instructions on manually triggering a re-build and I don't see the "Settings > Webhooks > ". I'm going to try the curl option.
Josh Mandel (Jul 29 2021 at 16:41):
If you don't see webhooks, can you confirm you're an administrator on the repository? In any case, curl should work for you and is generaly what I'd recommend.
Lloyd McKenzie (Jul 29 2021 at 16:46):
If it's an HL7 repository, they shouldn't be an administrator - administrator privileges are supposed to be tightly held.
Jens Villadsen (Jul 29 2021 at 19:04):
@Jean Duteau you could fork the repo, make stuff work as you like it to be and add the webhooks - and then afterwards make a PR back to the origin
Jens Villadsen (Jul 29 2021 at 19:14):
Josh Mandel said:
(there are also issues with this dashboard for repos that use
main
instead ofmaster
-- they were missing altogether until last night; now they show up but the "logs" links etc are still not right.)
Have you also changed the default browsing path then? Meaning that by default it will direct you to the main
branch instead of master
?
Josh Mandel (Jul 29 2021 at 20:25):
No, the tooling still pretty much expects everything to be called master
. I've written a plan outlining the development steps required to improve this, but I don't want to take this work on myself; if we're going to invest in improvements to the tooling, we need to grow the community around it.
Jens Villadsen (Jul 29 2021 at 20:25):
makes sense
Josh Mandel (Jul 29 2021 at 22:27):
Just to complete the thought: https://chat.fhir.org/#narrow/stream/179252-IG-creation/topic/Primary.20branch.20name/near/214200898 is a link to the previous discussion where I outlined steps required.
Rob Hausam (Jul 29 2021 at 23:09):
I'll read the discussion - but I'll ask this now. For an IG that currently has a 'main' branch (not 'master'), should we change the 'main' branch to 'master' to be more compatible with the current tooling (at least until the use of a 'main' branch is sufficiently supported)?
Lloyd McKenzie (Jul 30 2021 at 03:02):
You can. You can also just push your changes to a 'master' branch in addition to 'main' to trigger publication. (While I don't like doing so, I've been manually changing new IGs from 'main' to 'master' when I set them up just to keep things simpler for people.)
Last updated: Apr 12 2022 at 19:14 UTC