Skip to content

Commit cd2557b

Browse files
nrissclaude
andcommitted
feat: pré-générer les index OID dans l'image Docker
Ajoute un step de warmup dans le Dockerfile : après l'installation des packages FHIR et du publisher JAR, une IG synthétique minimale est buildée. Le publisher scanne tous les packages de /root/.fhir/packages/ au démarrage et génère les .oid-map-2.db pour chacun, indépendamment des dépendances de l'IG traitée. Ces index sont baked dans l'image — chaque CI qui démarre depuis cette image saute entièrement la phase "Generate OID index" (~3-5 min sur 27 packages). Complément du fix cache (actions/cache/restore+save) : les deux mécanismes coexistent sans conflit. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 58a1cd2 commit cd2557b

3 files changed

Lines changed: 19 additions & 0 deletions

File tree

Dockerfile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,15 @@ RUN PUBLISHER_VERSION=$(curl -s https://api.github.com/repos/HL7/fhir-ig-publish
6262
-O /root/publisher.jar \
6363
&& echo "IG Publisher ${PUBLISHER_VERSION} pre-installed at /root/publisher.jar"
6464

65+
# Pré-génération des index OID (.oid-map-2.db) pour tous les packages baked dans l'image.
66+
# Le publisher scanne /root/.fhir/packages/ au démarrage quelle que soit l'IG traitée.
67+
# IG synthétique minimale : le build peut échouer après l'indexation (|| true).
68+
COPY scripts/synthetic-ig/ /tmp/synthetic-ig/
69+
RUN cd /tmp/synthetic-ig \
70+
&& HOME=/root sushi . \
71+
&& java -Xmx4096m -jar /root/publisher.jar -ig . -tx n/a 2>&1 \
72+
| grep -E "Generate OID|Error|Exception" \
73+
|| true
74+
RUN rm -rf /tmp/synthetic-ig
75+
6576
WORKDIR /workspace

scripts/synthetic-ig/input/fsh/.gitkeep

Whitespace-only changes.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
id: oid-index-warmup
2+
canonical: https://example.org/oid-warmup
3+
name: OIDIndexWarmup
4+
status: draft
5+
version: 0.0.1
6+
fhirVersion: 4.0.1
7+
copyrightYear: 2026+
8+
releaseLabel: ci-build

0 commit comments

Comments
 (0)