Skip to content

Latest commit

 

History

History
20 lines (14 loc) · 1.77 KB

RELEASING.md

File metadata and controls

20 lines (14 loc) · 1.77 KB

Releasing

A release is a GitHub Release: publishing Release v{semver} runs .github/workflows/publish.yml, which builds the tag's commit (hatch-vcs takes the version from the tag), tests the wheel and uploads it to PyPI with Trusted Publishing. Merging to main only runs the tests.

gh release create v0.1.0 --repo ConvertAPI/convertapi-haystack --target main --generate-notes
gh release create v0.2.0-rc.1 --repo ConvertAPI/convertapi-haystack --target main --prerelease --generate-notes

One-time setup

  1. Repository ConvertAPI/convertapi-haystack (public), default branch main, merge commits only.
  2. Secret CONVERTAPI_TOKEN: an API token for the integration tests, which use about 20 conversions per run (pushes to main, weekly, releases). Without it CI runs the unit tests only.
  3. Environment pypi, limited to v* tags.
  4. Rulesets, the same as in the ConvertAPI SDK repositories: main takes reviewed pull requests only, with the build check from test.yml required (admins can bypass); v* tags must be SemVer; only admins create, move or delete v* tags.
  5. On PyPI, a pending trusted publisher for the project convertapi-haystack: owner ConvertAPI, repository convertapi-haystack, workflow publish.yml, environment pypi (https://pypi.org/manage/account/publishing/). After the first upload it shows under https://pypi.org/manage/project/convertapi-haystack/settings/publishing/.

After the first release

Open the listing PR to https://github.com/deepset-ai/haystack-integrations with listing/convertapi.md as integrations/convertapi.md and listing/convertapi.svg as logos/convertapi.svg; the PR text is in listing/PR_DESCRIPTION.md. Their README asks for a pypi or repo link that works, so open it only once the package is on PyPI.