added semantic versioning and automated releases#1325
Conversation
onefloid
left a comment
There was a problem hiding this comment.
Hi @nicolasbisurgi, grand job! I left a few comments in the code.
- harmonize CONTRIBUTING.md & docs/how-to-contribute.md - remove networkx from pyproject.toml
9858582 to
7c49de4
Compare
There was a problem hiding this comment.
Pull request overview
This pull request implements automated semantic versioning and nightly releases for TM1py, following the same approach used in the RushTI project. The changes migrate package configuration from setup.py to the modern pyproject.toml format and introduce GitHub Actions workflows for automated PR validation and nightly releases.
Changes:
- Migrated package metadata and dependencies from setup.py to pyproject.toml following PEP 621 standards
- Added automated PR validation workflow to check code formatting (Black) and linting (Ruff)
- Implemented nightly release workflow with semantic versioning based on PR labels (release:patch, release:minor, release:major)
- Updated version management to use importlib.metadata with fallback
- Comprehensive documentation updates for contributors and maintainers
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 14 comments.
Show a summary per file
| File | Description |
|---|---|
| setup.py | Simplified to minimal backwards-compatible setup, delegating configuration to pyproject.toml |
| pyproject.toml | New comprehensive package configuration with metadata, dependencies, and tool settings |
| TM1py/init.py | Updated version detection to read from installed package metadata with fallback |
| CONTRIBUTING.md | New top-level contributor guide redirecting to detailed documentation |
| docs/how-to-contribute.md | Extensively expanded with setup instructions, PR process, release workflow explanation |
| .github/RELEASE_LABELS_GUIDE.md | New maintainer guide for using release labels to control semantic versioning |
| .github/workflows/pr-validation.yml | New workflow for validating PRs with Black and Ruff checks |
| .github/workflows/nightly-release.yml | New comprehensive workflow for automated nightly releases with testing and PyPI publishing |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
6be9d84 to
1af5319
Compare
1af5319 to
4737dd6
Compare
|
@nicolasbisurgi, please take a quick look through my changes before we merge |
|
Reviewed the changes - looks good to merge! All feedback (from @onefloid and Copilot) has been addressed properly. The only minor nit left is the broad |
Implemented the same release management than in RushTI and as discussed here