Skip to content

HL7 Build Preview Pipeline (base template)

Intent

Use HL7 auto-build to generate previews for every push using fhir.base.template#current.

Structure

The HL7 build preview pipeline uses the auto-ig-builder to produce a hosted preview for each push. Structurally it relies on repo visibility, a predictable branch naming scheme, ig.ini at the root, and a supported publishing template.

  • GitHub repo: public visibility and a default branch compatible with the HL7 builder
  • Root ig.ini: points to sushi-config and sets template=fhir.base.template#current
  • Template strategy: minimal customization to survive template updates
  • Builder integration: auto-ig-builder installed/configured with correct Java/tool versions
  • Log/triage loop: build output captured and treated as a first-class feedback channel

Key Components

Public GitHub repo

  • Ensure repo visibility supports HL7 auto-build
  • Maintain a predictable default branch
  • Use PR-based workflow so previews map to changes
  • Keep secrets out of the repo
  • Add CONTRIBUTING and release docs

ig.ini at IG root

  • Put ig.ini at root (auto-build expects it)
  • Ensure it points to correct template and config
  • Avoid path assumptions that break in CI
  • Keep it minimal and well-documented
  • Test with HL7 build logs early

template=fhir.base.template#current

  • Use the neutral base template for consistent rendering
  • Prefer #current for CI-style builds aligned with build.fhir.org
  • Document why template choice matters
  • Re-test when template changes affect output
  • Avoid template customizations that break upgrades

fhir-ig-builder app

  • Install and configure the HL7 build agent
  • Ensure Java and dependencies match expected versions
  • Use build logs to debug early failures
  • Keep the builder config stable
  • Coordinate repo settings with HL7 build requirements

Build log triage

  • Treat build warnings as backlog items
  • Create a playbook for common publisher errors
  • Link build failures to PRs/issues
  • Keep builds green before expanding scope
  • Use log-based gates to prevent regressions

Behavior

Preview feedback loop

Every push produces a preview URL that becomes the shared artifact for review and debugging.

HL7 Build Preview Pipeline Sequence Diagram

On every push

  1. Auto-build runs publisher + renders the IG using the base template.
  2. Build logs are generated and linked from the preview.
  3. Stakeholders review the same preview output and report issues with deep links.

When builds fail

  1. Triage the log: configuration/path issues vs publisher errors vs dependency resolution.
  2. Fix the minimal root cause and re-push to confirm green build.
  3. Convert recurring failures into documented playbook steps and CI checks.

Benefits

  • Immediate preview URLs
  • Shared debugging logs

Trade-offs

  • Public repo required
  • Branches limited to [A-Za-z0-9_-]

References


Example

ig.ini: template = fhir.base.template#current