Some checks are pending
CI / ruff (push) Waiting to run
CI / mypy (push) Waiting to run
CI / pytest (push) Waiting to run
CI / package (push) Waiting to run
CI / Install smoke (${{ matrix.label }}) (linux, ubuntu-latest) (push) Blocked by required conditions
CI / Install smoke (${{ matrix.label }}) (macos-arm64, macos-14) (push) Blocked by required conditions
27 lines
1.3 KiB
Markdown
27 lines
1.3 KiB
Markdown
# Repository Instructions
|
|
|
|
- Never include `codex` in branch names or pull request titles.
|
|
- Keep release pull requests focused on version metadata and release documentation.
|
|
- Do not commit local build artifacts such as `dist/`, `build/`, or generated wheel/sdist files.
|
|
|
|
## Publishing to PyPI
|
|
|
|
PyPI publishing is handled by GitHub Actions in `.github/workflows/publish.yml`. The workflow runs on pushed tags that match `v*`, builds the package with `uv build`, checks the artifacts with `twine check --strict`, and publishes through the configured `pypi` environment.
|
|
|
|
To prepare a release:
|
|
|
|
1. Confirm the intended version is not already published on PyPI.
|
|
2. Bump `version` in `pyproject.toml`.
|
|
3. Bump `__version__` in `src/speech_to_speech/__init__.py`.
|
|
4. Open and merge a pull request with only the release preparation changes.
|
|
|
|
To publish after the release PR is merged:
|
|
|
|
1. Update `main` locally: `git checkout main && git pull origin main`.
|
|
2. Create an annotated tag for the version: `git tag -a vX.Y.Z -m "Release vX.Y.Z"`.
|
|
3. Push the tag: `git push origin vX.Y.Z`.
|
|
4. Watch the `Publish` GitHub Actions workflow complete successfully.
|
|
5. Verify the new version appears at `https://pypi.org/project/speech-to-speech/`.
|
|
|
|
Only upload manually if the GitHub Actions workflow is unavailable and the maintainers have explicitly chosen that fallback.
|