Publishing¶
Follow these instructions for releasing a new version of the Dyad packages to PyPI (e.g. pip install mesop
).
Check main branch¶
Before, cutting a release, you'll want to check two things:
- The
main
branch should be healthy (e.g. latest commit is green). - Check the snyk dashboard to review security issues:
- It only runs weekly so you need to click "Retest now". If there's any High security issues, then you should address it before publishing a release.
Bump versions¶
Main packages¶
If you're updating any of the regular Dyad code (i.e. outside of the packages/dyad_cli
), then you should run bump version like this:
CLI package¶
If the code in packages/dyad_cli
is updated and needs to be release (which should be rare), then you bump version for the CLI package specifically like this:
Merge PR¶
Merge the pull request which bumps the version for the package(s) in the previous step.
Publish GitHub release¶
After you've submitted the PR which bumps the version, publish a GitHub release, this will kickoff the PyPI upload process.
- Click "Choose a tag" and type in the version you just released. This will create a new Git tag.
- Click "Generate release notes".
- If this is a an RC: Click "Set as a pre-release", otherwise leave the "Set as the latest release" checked.
- If this is a regular (non-RC) release, click "Create a discussion for this release".
- Click "Publish release".
Smoke testing¶
Run:
Scenarios:
- Make sure calling LLM with local API key works.
- Make sure calling LLM with LLM proxy (Dyad Pro) works.
Promoting RC to regular release¶
The goal is to have an RC out for at least a few days for dogfooding. If there's no issues, then promote it by creating a new GitHub release and using the same tag as the RC (assuming the RC didn't have any issues). If new issues are found, then kickoff a new RC.