-
Notifications
You must be signed in to change notification settings - Fork 4
Fixing versioning and release process #56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Major: Replace custom versioning system with semantic-release. This requires using Conventional Commits for all future changes. - Remove custom scripts and workflows (327+ lines eliminated) - Add semantic-release configuration with Node.js dependencies - Update project structure for automated releases - Replace VERSION/VERSION.meta files with pyproject.toml version - Add commitizen for guided commit messages - Update documentation for Conventional Commits workflow - Add CONTRIBUTING.md with development guidelines - Configure GitHub Actions for semantic-release automation Migration benefits: - Fully automated versioning without manual intervention - Industry-standard Conventional Commits workflow - Elimination of complex custom code and potential infinite loops - Better compliance with GitHub best practices - Improved developer experience with guided tooling
**Major**: - Cleaning up the context documentation used for the CI update to `semantic-release`
Before switching to `semantic-release` the version was 0.4.2
Cicd/version bump on main
Commands `mcp:tool:execute`, `mcp:tool:schema`, `mcp:citations`, and `mcp:reset` were commented out of release v0.4.2 of Hatchling for instability. This makes sure that the regression test deoesn't look for them.
The integration tests for OpenAI all require the API key at test setup when creating the LLM provider instance. Hence we must add the appropriate tag for skipping them when no api keys are available (i.e. often during automation).
The methods `hatchling_to_llm_tool_call` and `hatchling_to_provider_tool_result` were added in the previous update, so the tests checking the integrity of the implementation of this interface were failing. We add the expected implementations.
We were before implementing a custom system to manage versions automatically. We moved to `semantic-release`, so we must adapt the regression tests associated to the versioning system.
Testing the way an OpenAI provider handles events required an api key. Minor: deleted useless import statements
Tests/fixing for v0.4.2
`tomli` is the library actually referenced in the dependencies of `Hatchling` instead of `toml`. Hence, trying to run the tests after simply installing `Hatchling` from the `pyproject.toml`'s definition would fail when trying to use `toml` for other setting file load. test: some forgotten `toml` usage
We cannot expect the running ci to have access to LLM API keys for all the tests. There are some protections by default in how the tests are written but, to be sure, we explicitly indicate that we skip these.
Tests/fixing for v0.4.2
Expected IO mode is binary.
test: fixing expected IO mode for `tomli.load`
## 1.0.0-dev.1 (2025-08-26) ### Features * Add comprehensive OpenAI API integration ([e722ab3](e722ab3)) * Add OpenAI-specific translations and resolve i18n warnings ([7b60de7](7b60de7)) * Integrate OpenAI API support in core LLM components ([770b90c](770b90c)) * Update CLI chat interface for multi-provider LLM support ([9699bf3](9699bf3)) * Update Docker configuration for multi-provider LLM support ([5964216](5964216)) * Update package configuration for translation files inclusion ([89d68f4](89d68f4)) ### Bug Fixes * Extend MCP tool execution timeouts for long-running operations ([aeae562](aeae562)) * Make Docker entrypoint script executable ([4bb6acb](4bb6acb)) * Update settings parameter paths for tool calling configuration ([c50df34](c50df34)) ### Documentation * **dev:** remove design reports ([2dfd324](2dfd324)) ### Code Refactoring * Restructure LLM settings architecture for multi-provider support ([306f227](306f227))
We still want the commit-lint test to pass but we must also authorize the automated commit message for changelogs to pass with lines that can be longer that default's 100 chars because of SHA's or links.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces a major overhaul of the project's CI/CD workflows and release automation, shifting from custom Python-based versioning and release scripts to a modern, semantic-release-driven approach. It removes several deprecated and redundant GitHub Actions workflows and configuration files, and adds new configuration for commit linting, semantic release automation, and changelog generation. These changes streamline the release process, enforce commit standards, and automate changelog updates.
Release and CI/CD automation:
.github/workflows/semantic-release.ymlto automate releases usingsemantic-release, including changelog generation, tagging, and publishing for bothmainanddevbranches..releaserc.jsonto configure semantic-release plugins, branch rules, changelog file, and release note generation, enabling automated semantic versioning and improved release note quality..github/workflows/release.yml,.github/workflows/feature-fix.yml,.github/workflows/tag-release.yml,.github/workflows/tag-cleanup.yml,.github/workflows/validate-pr-to-dev.yml,.github/workflows/validate-pr-to-main.yml, and.github/workflows/commit_version_tag.yml, cleaning up redundant or deprecated release and validation logic. [1] [2] [3] [4] [5] [6] [7]Commit linting and standards enforcement:
.github/workflows/commitlint.ymland.commitlintrc.jsonto enforce conventional commit messages on pull requests, ensuring commit history consistency and compatibility with semantic-release. [1] [2]Changelog automation:
CHANGELOG.mdand configured semantic-release to update it automatically with categorized release notes based on commit messages. [1] [2]