/fhir-ig-action

A GitHub Action for FHIR IGs.

Primary LanguageShellMIT LicenseMIT

fhir-ig-action

GitHub release (latest SemVer) GitHub Workflow Status GitHub last commit GitHub CHANGELOG

This action provides the following functionality for GitHub Actions users:

  • Build a FHIR® Implementation Guide with the IG Publisher.
  • Use the set versions of the IG Publisher and SUSHI (if needed).
  • Matches IG Publisher and SUSHI errors in GitHub, to easily spot issues:
    Preview of the problem matching with SUSHI See also the live example of a failing pull request.

Usage

The action can be configured with the following inputs:

ig-publisher
The version of the IG Publisher to use. The value can be a full version (i.e. x.y.z) or the keyword 'latest'. The default value is 'latest'.
sushi
The version of SUSHI to use. The value can be a partial or full version (i.e. x, x.y or x.y.z), the keyword 'latest', or the keyword 'false' to disable SUSHI. The default value is 'false'.

Examples

The following example will build an Implementation Guide with the latest version of the IG Publisher, without SUSHI. The ig.ini file is expected in the top directory of the project.

name: Build the IG
on: [push, pull_request]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: qligier/fhir-ig-action@v0.3.0

Another example for a SUSHI Implementation Guide, with specific versions:

name: Build the IG
on: [push, pull_request]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: qligier/fhir-ig-action@v0.3.0
        with:
          ig-publisher: "1.6.25"
          sushi: "3.11.1"

To build an Implementation Guide in another directory, you should use the working-directory configuration:

name: Build the IG
on: [push, pull_request]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: qligier/fhir-ig-action@v0.3.0
        working-directory: ./folder/my-ig # This will use ./folder/my-ig/ig.ini

License

This project is released under the MIT License.

Development

Issues and pull requests are very welcome 💙

Code contributions must pass the code checks: shfmt, ShellCheck and Prettier. See the GitHub Action file for details.

Alt

FHIR® is the registered trademark of HL7 and is used with the permission of HL7.