Publishing NPM Packages
This is the process we use to publish new versions of JavaScript NPM packages.
Publishing NPM dependencies requires being a member of the Medplum dev team.
note
Note that publishing to NPM is separate from deploying to production. For details on deploying to production, see:
- Hosted Medplum uses CI/CD which automatically pushes to production on every merge to
main
- For self-hosted, see Install on AWS - Ongoing
Steps
The Medplum publish process is automated using Github Actions.
1. Prepare the release
- Go to GitHub Actions
- In the left side bar, click Prepare release
- Click the "Run workflow" button
- Use the default branch
main
- Click "Run workflow"
This will initiate the action, which will create the release PR and a draft "Release".
Wait for the normal PR process, and merge the PR when ready.
2. Publish the release
- Go to GitHub Releases
- At the top, there should be a new release in "Draft" status
- Click the pencil icon for "Edit"
- Leave the tag alone
- Update the "Target"
- Click on the "Target: main" button
- Go to the "Recent Commits" tab
- Select the Release commit
- Update the release notes as you see fit
- Give shout-outs to new contributors
- When necessary, add notes about new features
- At your discretion, remove trivial commits
- Click "Publish release"
That will create a new Github "Release", which starts a "Publish" action.
The publish action publishes all libraries to npm, and also builds the medplum-agent-installer.exe
binary.