Stream: IG creation
Topic: Template-based IG Documentation
Chris Moesel (Dec 03 2019 at 22:34):
Is the template-based approach to IG publishing documented anywhere (aside from the sample-ig)? As far as I can tell, the docs on wiki/confluence still seem to apply to the old (non-template) approach.
Grahame Grieve (Dec 03 2019 at 22:39):
Lloyd keep promising that the documentation will be done soon
Lloyd McKenzie (Dec 04 2019 at 02:03):
Soon = hopefully by end of this month at current rate :(
Chris Moesel (Dec 04 2019 at 02:12):
I'm trying to determine when is best to start working on exporting IGs in SUSHI (the FHIR Shorthand compiler). @Lloyd McKenzie -- do you think that the sample-ig is a good enough representation for me to use to infer the correct approach? Or should I wait for docs? Do you expect many changes in the format of the source/config for a template-based IG?
Lloyd McKenzie (Dec 04 2019 at 02:22):
There will be some changes, but they should be minor and well communicated. If you're comfortable looking at the Sample-IG and or SDC and inferring, you should be fine. You can also look at what documentation does exist in the ig-guidance implementation guide.
Chris Moesel (Dec 04 2019 at 02:42):
@Lloyd McKenzie -- I didn't even know about the ig-guidance IG! Even if it's not complete, that's a lot more than I had a few hours ago. Thanks!
Kevin Mayfield (Dec 04 2019 at 11:15):
I pretty new to IG and found the sample-IG good enough. The initial UK IG used sample-IG as a base.
Mark Kramer (Dec 04 2019 at 22:13):
@Chris Moesel That link is 404. Where is the ig-guidance IG really located?
Chris Moesel (Dec 04 2019 at 22:22):
Ugh. That link totally worked last night. And now the FHIR IG Builds page doesn't even list the guidance-ig anymore. @Lloyd McKenzie?
Grahame Grieve (Dec 04 2019 at 22:25):
the last build failed because of some template reference issue
Grahame Grieve (Dec 04 2019 at 22:25):
@Josh Mandel failed IGs are falling off the IG page again
Grahame Grieve (Dec 04 2019 at 22:26):
also, after a few seconds, the page crashes chrome...
Grahame Grieve (Dec 04 2019 at 22:27):
that's pretty cool
Josh Mandel (Dec 04 2019 at 22:28):
Hmm, failing IGs fall off the page -- is that new since this afternoon? Re: crash, oh fun! Won't be able to look at this right away, but will take a look tomorrow (unless it's causing big problems for someone).
Grahame Grieve (Dec 04 2019 at 22:29):
I don't think it's new - I've been meaning to say something for a while
Josh Mandel (Dec 05 2019 at 00:51):
OK, re: the new crashing behavior: https://build.fhir.org/ig/HL7/fhir-qi-core/branches/master/build.log is, um, 16Gb. (!!)
Josh Mandel (Dec 05 2019 at 00:51):
How does fhir-qi-core
generate a sixteen gig log file?
Josh Mandel (Dec 05 2019 at 00:52):
@Grahame Grieve
Josh Mandel (Dec 05 2019 at 00:58):
For now I've truncated the file (but hopefully left enough for you to debug; you can probably re-run the build to regenerate the huge log ;-))
Josh Mandel (Dec 05 2019 at 01:01):
Re: debugging failed builds, some are showing up, like:
pasted image
... can you point me toward one you expect to see that's missing?
Grahame Grieve (Dec 05 2019 at 01:03):
y. this one built and failed:
Grahame Grieve (Dec 05 2019 at 01:04):
https://github.com/FHIR/ig-guidance
Grahame Grieve (Dec 05 2019 at 01:04):
there was a bug that lead to repeated stack dumps that were then ignored. It's fixed now
Grahame Grieve (Dec 05 2019 at 01:04):
(for the big log file)
Chris Moesel (Dec 05 2019 at 03:38):
@Lloyd McKenzie -- in all the samples (and SDC), the ImplementationGuide instance is always XML. Is this required, or should a JSON instance of ImplementationGuide work as well?
Lloyd McKenzie (Dec 05 2019 at 03:45):
JSON will work just fine (for the IF or anything else, though for examples only XML lets you include comments, which is often useful.
Josh Mandel (Dec 05 2019 at 05:18):
So that failed build is showing up, But the time of the failure is not being correctly determined, so it shows up towards the end of the list. I can look into that (probably it results from any small change to the format of the date in the build log).
Grahame Grieve (Dec 05 2019 at 05:20):
I don't see it at the end of the list?
Chris Moesel (Dec 05 2019 at 14:07):
It looks like it has since succeeded. I see ig-guidance in the list now. But I definitely did not see it at all last time I checked last night (end of the list or otherwise).
Josh Mandel (Dec 05 2019 at 18:11):
OK -- sorry for the confusion. We're still seeing some failures but not all. I've tried re-building one that has been long-term failing, and that failure does show up:
Josh Mandel (Dec 05 2019 at 18:12):
If someone notices a failure that doesn't appear in the list, it'd be great if you could save the build.log from the failure so we can evaluate it (I'm guessing there's something that breaks the date-extraction regex).
Grahame Grieve (Dec 05 2019 at 18:15):
hl7 / bser failed recently, and appears in the list but down the bottom with no date? is that what you are looking for?
Josh Mandel (Dec 05 2019 at 18:15):
Yes, thanks!
Josh Mandel (Dec 05 2019 at 18:37):
Updated the date regex to fix. BTW the commit that broke it was:
... I'm relying on the details of how the publisher tool represents failure times in the build.log, so I'm sensitive to changes in this format.
Grahame Grieve (Dec 05 2019 at 18:39):
ok sorry about that. which particular change broke it?
Josh Mandel (Dec 05 2019 at 18:42):
The block I highlighted: taking @
out of the parens, so dates went from (@ 2019...
to (2019...
.
Josh Mandel (Dec 05 2019 at 18:43):
Obviously it'd be good to have some kind of structured log format :)
Grahame Grieve (Dec 05 2019 at 18:54):
I thought we already did - something produced for your code to process
Grahame Grieve (Dec 05 2019 at 18:55):
I'm thinking of qa.json
Grahame Grieve (Dec 05 2019 at 18:55):
{ "url": "http://hl7.org/fhir/uv/howto/ImplementationGuide/hl7.fhir.uv.howto", "name": "HowToCreateIGs", "package-id": "hl7.fhir.uv.howto", "date": "Thu, 05 Dec, 2019 17:51:00 +1100", "errs": 30, "warnings": 0, "hints": 0, "version": "4.0.1", "tool": "4.1.0 (3)" }
Josh Mandel (Dec 05 2019 at 20:56):
I grab data from qa.json when available -- but I guess in some failure scenarios it's not, so I also grab data from build logs.
Grahame Grieve (Dec 05 2019 at 21:01):
I'll make sure qa.json is always produced
Grahame Grieve (Dec 05 2019 at 21:53):
it wasn't bring produced if the run fails. It almost always will be now
Josh Mandel (Dec 05 2019 at 23:10):
That's great, thanks!
Grahame Grieve (Dec 05 2019 at 23:12):
it will have "exception" : "[message]"
if the run didn't finish
Natasha Singh (Dec 07 2019 at 00:06):
Hi @Grahame Grieve would it be possible for qa.json
to contain the summary table and errors table in some form? I'm looking for a more machine parseable format than qa.html
or qa.txt
so that my Python validation script can easily extract the non-build errors.
Maybe something like
{ "url": "http://fhir.kids-first.io/ImplementationGuide/kidsfirst.fhir-0.1.0", "name": "KidsFirst", "package-id": "kidsfirst.fhir", "ig-ver": "0.1.0", "date": "Wed, 04 Dec, 2019 22:47:12 -0500", "errs": 0, "warnings": 0, "hints": 0, "version": "4.0.1", "tool": "4.1.0 (3)", "summary": { "build": { "error": 0, "info": 0, "warning": 1 }, "path/to/resources/Patient": { "error": 0, "info": 0, "warning": 1 }, "path/to/examples/Patient":{ "error": 1, "info": 0, "warning": 1 } }, ... }
Thanks!
Grahame Grieve (Dec 07 2019 at 01:00):
you'd be looking for qa.xml
Last updated: Apr 12 2022 at 19:14 UTC