Openturn publishes npm packages with Changesets and theDocumentation Index
Fetch the complete documentation index at: https://openturn.io/docs/llms.txt
Use this file to discover all available pages before exploring further.
Release GitHub Actions workflow.
The workflow runs on every push to main. It has two modes:
- If there are pending
.changeset/*.mdfiles, it opens or updates thechore: releasepull request. - If the
chore: releasepull request has been merged, it publishes the bumped package versions to npm.
Prerequisites
Before publishing, verify the npm side is ready:- The
@openturnnpm scope exists. - Each package is configured for npm trusted publishing from the
openturn-io/openturnrepository. - The trusted publishing entry points to the
Releaseworkflow and thenpm-publishGitHub environment.
NPM_TOKEN.
Daily release flow
Add a changeset in feature work whenever a PR changes public package behavior:patch, minor, or major, and write a short release note. Commit the generated .changeset/*.md file with the feature PR.
After the feature PR merges to main, the Release workflow opens or updates a pull request named:
- Package version bumps.
- Changelog updates.
- Removal of the consumed changeset files.
chore: release pull request is updated each time new changesets land on main.
When you are ready to publish, review and merge the chore: release pull request. The merge commit triggers the Release workflow again, and this run publishes the bumped packages:
release script builds packages and runs changeset publish.
First release from an existing main
If main already contains releasable code but no package has been published yet, create an initial changeset first. Do not publish the existing 0.0.0 versions.
From an up-to-date main branch:
@openturn/* packages that should be part of the first release. For the first npm release, use minor unless there is a reason to publish a different version.
Then commit and push the changeset:
Release workflow opens the chore: release pull request. Review it and confirm that package versions changed from 0.0.0 to the intended first version, such as 0.1.0.
Merge the chore: release pull request to publish the first npm release.
Versioning notes
The Changesets config uses a fixed group for the publishable@openturn/* packages. A release usually bumps the package set together, even when only one package was selected in the changeset prompt.
Examples are ignored by Changesets and are not published:
What not to do
Do not runbun run release locally for normal publishing. The GitHub workflow owns npm publishing so provenance and trusted publishing work correctly.
Do not manually edit package versions for routine releases. Use bun run changeset, then let the release pull request apply the version bumps.
Do not merge the chore: release pull request until the npm trusted publishing setup is ready. Once merged, the workflow will attempt to publish.