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- Repository
ConvertAPI/convertapi-haystack(public), default branchmain, merge commits only. - Secret
CONVERTAPI_TOKEN: an API token for the integration tests, which use about 20 conversions per run (pushes tomain, weekly, releases). Without it CI runs the unit tests only. - Environment
pypi, limited tov*tags. - Rulesets, the same as in the ConvertAPI SDK repositories:
maintakes reviewed pull requests only, with thebuildcheck fromtest.ymlrequired (admins can bypass);v*tags must be SemVer; only admins create, move or deletev*tags. - On PyPI, a pending trusted publisher for the project
convertapi-haystack: ownerConvertAPI, repositoryconvertapi-haystack, workflowpublish.yml, environmentpypi(https://pypi.org/manage/account/publishing/). After the first upload it shows under https://pypi.org/manage/project/convertapi-haystack/settings/publishing/.
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.