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.
On every push
- Auto-build runs publisher + renders the IG using the base template.
- Build logs are generated and linked from the preview.
- Stakeholders review the same preview output and report issues with deep links.
When builds fail
- Triage the log: configuration/path issues vs publisher errors vs dependency resolution.
- Fix the minimal root cause and re-push to confirm green build.
- 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
- FHIR IG Auto-Builder - Auto-build setup
- Publishing Templates - Template resolution
Example
ig.ini: template = fhir.base.template#current