<!-- .github/pull_request_template.md --> ## Description ### Inputs: `flavour`: `dev` or `main` `test_mode`: `Boolean`. Aka Dry Run. If true, it won't affect public indices or repositories ### Jobs * Create GitHub Release * Release PyPI Package * Release Docker Image [Test run](https://github.com/topoteretes/cognee/actions/runs/20167985120) <img width="551" height="149" alt="Screenshot 2025-12-12 at 14 31 06" src="https://github.com/user-attachments/assets/37648a35-0af8-4474-b051-4a81f8f8cfe7" /> #### Create GitHub Release Gets the `version` from `pyproject.toml` Creates a tag and release based on the version. The version in `pyproject.toml` **must** be already correct! If the version not updated and tag already exists - the process will take no effect and be failed. Test release was deleted. Here is the screenshot: <img width="818" height="838" alt="Screenshot 2025-12-12 at 14 19 06" src="https://github.com/user-attachments/assets/c2009f9f-1411-494e-8268-6489f6bdd959" /> #### Release PyPI Package Publishes the `dist` artifacts to pypi.org. If `test_mode` enabled - it will publish it to test.pypi.org ([example](https://test.pypi.org/project/cognee/0.5.0.dev0/)). <<< That's how I tested it. #### Release Docker Image **IMPORTANT!** Builds the image and tags it with the version from `pyproject.toml`. For example: * `cognee/cognee:0.5.1.dev0` * `cognee/cognee:0.5.1` ONLY **main** flavor adds the `latest` tag!. If a user does `docker pull cognee/cognee:latest` - the latest `main` release image will be pulled ## Type of Change <!-- Please check the relevant option --> - [ ] Bug fix (non-breaking change that fixes an issue) - [ ] New feature (non-breaking change that adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Documentation update - [ ] Code refactoring - [ ] Performance improvement - [x] Other (please specify): CI ## Screenshots/Videos (if applicable) <!-- Add screenshots or videos to help explain your changes --> ## Pre-submission Checklist <!-- Please check all boxes that apply before submitting your PR --> - [ ] **I have tested my changes thoroughly before submitting this PR** - [ ] **This PR contains minimal changes necessary to address the issue/feature** - [ ] My code follows the project's coding standards and style guidelines - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have added necessary documentation (if applicable) - [ ] All new and existing tests pass - [ ] I have searched existing PRs to ensure this change hasn't been submitted already - [ ] I have linked any relevant issues in the description - [ ] My commits have clear and descriptive messages ## DCO Affirmation I affirm that all code in every commit of this pull request conforms to the terms of the Topoteretes Developer Certificate of Origin. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Added an automated release pipeline that creates versioned GitHub releases, publishes Python packages to TestPyPI/PyPI, and builds/pushes Docker images. * Supports selectable dev/main flavors, includes flavor-specific image tagging and labels, wires version/tag outputs for downstream steps, and offers a test-mode dry run that skips external publishing. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|---|---|---|
| .. | ||
| actions | ||
| ISSUE_TEMPLATE | ||
| workflows | ||
| core-team.txt | ||
| pull_request_template.md | ||
| README_WORKFLOW_MIGRATION.md | ||
| release-drafter.yml | ||