pytdml icon indicating copy to clipboard operation
pytdml copied to clipboard

Release management

Open photonbit opened this issue 9 months ago • 1 comments

The current release in pypi https://pypi.org/project/pytdml/ is labeled as 1.2.0 (July 11, 2024), while installing the package from the main branch in the repository will be labeled as 1.1.7, and includes many changes that break backwards compatibility.

The pypi page also includes a copy of the README, that could lead to outdated documentation in the package release site.

To improve the situation, it would be interesting to:

  • Be mindful about semantic versioning, perhaps adding a link to the website in the pull request, or even better, adopting conventional commits, which will allow to automate versioning.
  • Create a GitHub workflow triggered on release [published] that will check if the tag of the release and the current package version match, trigger an extended tests workflow, and perform the release in pypi.

photonbit avatar Mar 13 '25 11:03 photonbit

Regarding the version inconsistency of PyTDML on PyPI, we previously discussed this issue but prioritized it lower due to ongoing iterations and the absence of a stable release. To address the current problem, we fully support the proposal to automate versioning (e.g., via Conventional Commits) and plan to implement the following steps:  ​Automated Release Pipeline: Implement a GitHub Actions workflow triggered on pushes to the main branch: ​Version Validation: Verify consistency between version (in-code) and pyproject.toml. ​Extended Testing: Execute comprehensive unit tests, compatibility checks, and documentation builds pre-release. ​PyPI Deployment: Automatically publish to PyPI only after validation and testing, strictly tied to Git tags.  ​Documentation Synchronization: Enforce README updates during releases to ensure PyPI documentation matches the code version. Establish a stable release branch for long-term maintenance, allowing only verified changes via Pull Requests.

Relifest avatar Mar 20 '25 03:03 Relifest