Skip to content

added semantic versioning and automated releases#1325

Merged
MariusWirtz merged 4 commits intomasterfrom
feat_micro_releases
Feb 3, 2026
Merged

added semantic versioning and automated releases#1325
MariusWirtz merged 4 commits intomasterfrom
feat_micro_releases

Conversation

@nicolasbisurgi
Copy link
Collaborator

Implemented the same release management than in RushTI and as discussed here

@nicolasbisurgi nicolasbisurgi self-assigned this Dec 23, 2025
@nicolasbisurgi nicolasbisurgi added the release:patch Triggers patch version bump (e.g.: 1.4.9 → 1.4.10) label Dec 23, 2025
Copy link
Collaborator

@onefloid onefloid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @nicolasbisurgi, grand job! I left a few comments in the code.

nicolasbisurgi and others added 2 commits January 30, 2026 14:02
- harmonize CONTRIBUTING.md & docs/how-to-contribute.md
- remove networkx from pyproject.toml
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@MariusWirtz
Copy link
Collaborator

@nicolasbisurgi, please take a quick look through my changes before we merge

@nicolasbisurgi
Copy link
Collaborator Author

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 except Exception in init.py but I don't think we care much for that.
Thanks all!

@MariusWirtz MariusWirtz merged commit 5c07fdc into master Feb 3, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release:patch Triggers patch version bump (e.g.: 1.4.9 → 1.4.10)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments