Skip to content

🚀 Promote develop → main #447

🚀 Promote develop → main

🚀 Promote develop → main #447

Workflow file for this run

name: CI
on:
push:
branches: [develop, main]
pull_request:
branches: [develop, main]
# @max-health-inc/config is installed from GitHub Packages (see .npmrc), which needs a token
# even though the package is public. Set at workflow level so every `npm ci` below is covered.
# An unset secret expands to an EMPTY string and fails with a 401 identical to a bad token.
# Nothing in this workflow publishes, so a workflow-wide NODE_AUTH_TOKEN is safe here.
env:
NODE_AUTH_TOKEN: ${{ secrets.GH_PACKAGES_TOKEN }}
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-node@v7
with:
node-version: '22'
cache: 'npm'
- run: npm ci
- name: Check generated client packages are up to date
run: npm run generate:clients:check
# parity-matrix.json is a cross-repo contract (Max-Health-Inc/fhir-igs
# resolves it at a release tag to decide which IGs to publish), so drift
# has to fail here rather than surface as a wrong publish later.
- name: Check parity matrix artifact is up to date
run: npm run generate:parity-matrix:check
- name: Type-check and run unit tests
run: npm test
# Informational only. IG pins are deliberately manual: bumping one shifts
# the parity percentages for reasons unrelated to this generator, and the
# curated exclusions are keyed on generated class names an IG major renames.
# This step exists so a stale pin is visible in the run summary instead of
# being discovered months later — it must never fail the build.
- name: Report newer IG releases
run: npm run check:ig-versions
continue-on-error: true