Skip to content

ci: migrate from versioneer to release-please + setuptools-scm#343

Merged
sameeul merged 4 commits into
PolusAI:mainfrom
sameeul:ci/release-please-migration
May 13, 2026
Merged

ci: migrate from versioneer to release-please + setuptools-scm#343
sameeul merged 4 commits into
PolusAI:mainfrom
sameeul:ci/release-please-migration

Conversation

@sameeul
Copy link
Copy Markdown
Member

@sameeul sameeul commented May 12, 2026

Replaces the manual release process (update two files, push a tag) with an automated release-please workflow that:

  • Creates release PRs with CHANGELOG on conventional commits to main
  • Tags, updates plugin.json / src/nyx/version.h / .version via ci-utils/sync_version.py, and dispatches all four publish workflows (PyPI CPU, CUDA 11, CUDA 12, Docker) on merge

Version management changes:

  • Remove versioneer.py and versioneer-generated _version.py
  • Add pyproject.toml with setuptools-scm (version derived from git tags)
  • Add .version, .release-please-manifest.json, release-please-config.json
  • Extend ci-utils/sync_version.py to also update .version file
  • Update setup.py to use setuptools_scm.get_version() instead of versioneer
  • Update environment.yml: replace versioneer with setuptools-scm>=8

Workflow changes:

  • Add .github/workflows/release-please.yml (new)
  • All publish_*.yml: remove release: published trigger (now dispatched by release-please); add fetch-depth/fetch-tags + version verification
  • All build_*_wheels.yml: add fetch-depth/fetch-tags + sync_version step

sameeul and others added 4 commits May 12, 2026 14:05
Replaces the manual release process (update two files, push a tag) with
an automated release-please workflow that:
- Creates release PRs with CHANGELOG on conventional commits to main
- Tags, updates plugin.json / src/nyx/version.h / .version via
  ci-utils/sync_version.py, and dispatches all four publish workflows
  (PyPI CPU, CUDA 11, CUDA 12, Docker) on merge

Version management changes:
- Remove versioneer.py and versioneer-generated _version.py
- Add pyproject.toml with setuptools-scm (version derived from git tags)
- Add .version, .release-please-manifest.json, release-please-config.json
- Extend ci-utils/sync_version.py to also update .version file
- Update setup.py to use setuptools_scm.get_version() instead of versioneer
- Update environment.yml: replace versioneer with setuptools-scm>=8

Workflow changes:
- Add .github/workflows/release-please.yml (new)
- All publish_*.yml: remove release: published trigger (now dispatched
  by release-please); add fetch-depth/fetch-tags + version verification
- All build_*_wheels.yml: add fetch-depth/fetch-tags + sync_version step

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace versioneer's get_versions()['version'] API with the simpler
__version__ string written by setuptools-scm.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@sameeul sameeul merged commit 8c5c982 into PolusAI:main May 13, 2026
46 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant