Skip to content

Current Version Dependency

Intent

Use the special current version symbol to depend on the latest CI build of an upstream IG, enabling rapid integration testing during active co-development phases.

Implementation Considerations

Using current in sushi-config.yaml

The current keyword resolves to the latest successful CI build from the upstream IG's build server. - Specify dependency as package.id: current in sushi-config.yaml - SUSHI resolves current to https://build.fhir.org/ig/{org}/{repo}/package.tgz - Each build gets the latest upstream artifacts without manual version bumps - Useful during active co-development sprints between related IGs

When to use current

  • Feature branches integrating with upstream changes not yet released
  • Early-stage IGs tracking a rapidly evolving base IG
  • Cross-team sprints where both IGs are changing simultaneously
  • Testing compatibility before upstream cuts a formal release

When NOT to use current

  • Release branches — always pin to a specific version
  • Production deployments — use tagged releases only
  • Stable IGs with infrequent upstream changes
  • When reproducibility is required (current changes daily)

Benefits

  • Faster feedback on integration issues
  • No manual version bumping during co-development
  • Early detection of breaking changes

Trade-offs

  • Non-reproducible builds (different results each day)
  • May break unexpectedly when upstream changes
  • Not suitable for releases or production

sushi-config.yaml with current dependency

# Development branch - track latest upstream
dependencies:
  hl7.fhir.au.base: current
  hl7.fhir.au.core: current

# Release branch - pin to specific versions
# dependencies:
#   hl7.fhir.au.base: 4.2.0
#   hl7.fhir.au.core: 1.0.0

Branch strategy for current

Use current on feature and develop branches, but always switch to pinned versions before creating a release branch.

Never release with current

A release built with current dependencies cannot be reproduced. Always pin to specific versions before tagging a release.