Stream: IG creation
Topic: Changing canonical name of IG --> trouble
Saul Kravitz (Oct 30 2020 at 20:40):
As part of a technical correction to the Davinci-pdex drug formulary IG (v1.0.1) we are trying to change the canonical name from:
* from http://hl7.org/fhir/us/Davinci-drug-formulary
* to: http://hl7.org/fhir/us/davinci-drug-formulary
You can see the source here: https://github.com/HL7/davinci-pdex-formulary
I suspect we are running into something (intentionally) fundamental.
You can see the failure in http://build.fhir.org/ig/HL7/davinci-pdex-formulary/branches/master/failure/build.log
The problem starts
See http://build.fhir.org/ig/HL7/davinci-pdex-formulary/branches/master/failure/build.log
Installing hl7.fhir.us.davinci-drug-formulary#1.0.0 to the package cache
Fetching:.
Installing: java.io.IOException: Attempt to import a mis-identified package. Expected hl7.fhir.us.davinci-drug-formulary, got hl7.fhir.us.Davinci-drug-formulary
at org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.addPackageToCache(FilesystemPackageCacheManager.java:356)
at org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.loadPackage(FilesystemPackageCacheManager.java:499)
at org.hl7.fhir.igtools.publisher.PreviousVersionComparator.startChecks(PreviousVersionComparator.java:185)
at org.hl7.fhir.igtools.publisher.Publisher.checkConformanceResources(Publisher.java:3876)
at org.hl7.fhir.igtools.publisher.Publisher.loadConformance(Publisher.java:3788)
at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:870)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:725)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:8342)
With appropriate tribute paid for the trouble being caused, is there a path forward?
Regards,
Saul
@Dave Hill
Eric Haas (Oct 30 2020 at 22:58):
Note that when you push a folder or file name change which only changes the case GitHub won't update the case.
Saul Kravitz (Oct 31 2020 at 03:19):
@Eric Haas file content changing, not file name.
Brian Postlethwaite (Nov 02 2020 at 03:17):
Especially on windows you need to do a git command line activity
git mv FileName.json filename.json
Saul Kravitz (Nov 02 2020 at 16:47):
It looks like it rebuilt for a while, the canonical names for all of the profiles are davinci with a lower case 'd'.
Any thoughts on why build currently fails much appreciated. @Grahame Grieve
Grahame Grieve (Nov 02 2020 at 20:25):
what
Grahame Grieve (Nov 02 2020 at 20:25):
what is the error message?
Saul Kravitz (Nov 02 2020 at 21:23):
http://build.fhir.org/ig/HL7/davinci-pdex-formulary/failure/build.log
The problem starts with:
Installing hl7.fhir.us.davinci-drug-formulary#1.0.0 to the package cache
Fetching:.
Installing: java.io.IOException: Attempt to import a mis-identified package. Expected hl7.fhir.us.davinci-drug-formulary, got hl7.fhir.us.Davinci-drug-formulary
at org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.addPackageToCache(FilesystemPackageCacheManager.java:356)
at org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.loadPackage(FilesystemPackageCacheManager.java:499)
at org.hl7.fhir.igtools.publisher.PreviousVersionComparator.startChecks(PreviousVersionComparator.java:185)
at org.hl7.fhir.igtools.publisher.Publisher.checkConformanceResources(Publisher.java:3876)
at org.hl7.fhir.igtools.publisher.Publisher.loadConformance(Publisher.java:3788)
at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:870)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:725)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:8342)
Saul Kravitz (Nov 04 2020 at 15:07):
@Grahame Grieve Any thoughts on what I'm doing wrong?
Eric Haas (Nov 04 2020 at 17:08):
@Saul Kravitz is this on your local build? Did you delete the packaged caches?
Saul Kravitz (Nov 04 2020 at 17:25):
Hi @Eric Haas This is on all builds, local and the CI build process. http://build.fhir.org/ig/HL7/davinci-pdex-formulary/failure/build.log. (Packaged caches are the stuff under ~/.fhir?... if so, then yes on my local build).
Lloyd McKenzie (Nov 04 2020 at 20:46):
What's the 'id' in your ig.json?
Saul Kravitz (Nov 04 2020 at 22:51):
@Lloyd McKenzie -- I'm building with SUSHI, so I think the ig.json is generated.
In the build directory I have:
ig.ini with:
ig = input/ImplementationGuide-hl7.fhir.us.davinci-drug-formulary.json
In build/input/ImplementationGuide-hl7.fhir.us.davinci-drug-formulary.json
"id": "hl7.fhir.us.davinci-drug-formulary",
@Chris Moesel
Saul Kravitz (Nov 04 2020 at 22:57):
The original canonical name was Davinci with a capital 'D'.
We are trying to change to davinci with a lower case 'd'.
Chris Moesel (Nov 04 2020 at 23:06):
I've got nothing to add to what @Saul Kravitz said -- only that I can't find anywhere in his master
branch that the capital D
could sneak back in -- and yet the IG Publisher is finding it. I feel like the IG Publisher is looking up information from some other server and then getting this mismatch based on the data coming back. But I honestly don't know -- that's just the only way I can think of the D
getting into the build process.
Grahame Grieve (Nov 04 2020 at 23:35):
the error is in the guide that is referencing it, not the drug formulary itself
Grahame Grieve (Nov 04 2020 at 23:36):
the case will be wrong in the pdex-formulary dependency
Saul Kravitz (Nov 05 2020 at 04:32):
@Grahame Grieve What is my action item?
Saul Kravitz (Nov 09 2020 at 13:55):
@Grahame Grieve Is this something that is on the radar for the eagerly awaited 1.1.40? Or is this an orthogonal issue?
There is urgency on resolving this one since it relates to publishing an update to the Formulary IG.
Grahame Grieve (Nov 09 2020 at 19:10):
there's nothing for me to resolve, so far as I can see.
Grahame Grieve (Nov 09 2020 at 19:25):
@Lloyd McKenzie running this IG:
Unrecognized package-list status: draft for release 0.1.0
it should recognise the status draft
Lloyd McKenzie (Nov 09 2020 at 19:32):
Should 'draft' versions show up in the Jira dropdowns?
Grahame Grieve (Nov 09 2020 at 19:32):
if they've bene published, maybe. I'm not sure. But it certainly should not terminate the process
Lloyd McKenzie (Nov 09 2020 at 19:35):
It terminates the process because I need to know what to do with them. Any new status we introduce has to be handled
Lloyd McKenzie (Nov 09 2020 at 19:36):
I can't know if they've been published or not - I have to drive from the information in the file. So either they get put into the list of versions always or never (i.e. status needs to change before they'll get added to Jira)
Grahame Grieve (Nov 09 2020 at 20:51):
so make it an entry in qa.html.
Lloyd McKenzie (Nov 09 2020 at 21:05):
I can't, not from there
Lloyd McKenzie (Nov 09 2020 at 21:06):
It's supposed to blow up. Whenever there's new statuses added, the template will have to be updated before they can be used. I'm going to go with "don't put them in Jira" for now.
Lloyd McKenzie (Nov 09 2020 at 21:07):
Updated template pushed
Saul Kravitz (Nov 10 2020 at 16:48):
@Lloyd McKenzie @Grahame Grieve -- should a rebuild of Formulary work now? Or is there some other dependency?
Lloyd McKenzie (Nov 10 2020 at 17:50):
Should work
Grahame Grieve (Nov 10 2020 at 19:00):
actually, this is a big deal, now I realise what to look at
Grahame Grieve (Nov 10 2020 at 19:00):
@Martijn Harthoorn what will happen in the package registry if a package id changes case?
Lloyd McKenzie (Nov 10 2020 at 19:35):
"this" = the rename, not the 'draft' status?
Grahame Grieve (Nov 10 2020 at 19:45):
yes
Saul Kravitz (Nov 10 2020 at 21:10):
I just republished successfully. Is that a surprise or expected? THANKS
Lloyd McKenzie (Nov 10 2020 at 21:12):
Expected. But the lack of surprise is still appreciated :)
Grahame Grieve (Nov 10 2020 at 21:41):
well, the ci-build will run. it would always have run from the pov of the case change. But I'm screwed downstream...
Martijn Harthoorn (Nov 23 2020 at 14:58):
@Grahame Grieve, in our server casing is irelevant (and if it isn't we will make it so). In the npm standard they have moved to package ids must be lower case. In the FHIR package spec, I think we should set it to:
"A package id (name) SHOULD be lower case. A package server MUST ignore caseing when searching or matching on package id"
Grahame Grieve (Nov 24 2020 at 03:44):
well, that's something, at least.
Grahame Grieve (Nov 24 2020 at 03:44):
and I agree.
Last updated: Apr 12 2022 at 19:14 UTC