Skip to content

Conversation

@doronkopit5
Copy link
Member

@doronkopit5 doronkopit5 commented Nov 17, 2025

Important

Adds GitHub Actions workflow for automated releases with Commitizen, updates license, and modifies dependencies.

  • GitHub Actions:
    • Adds release.yml workflow for manual release via GitHub Actions UI.
    • Automates version bumping using Commitizen and creates GitHub releases.
    • Builds and publishes package to PyPI using OIDC for authentication.
    • Tests package installation from PyPI.
  • Documentation:
    • Updates license in README.md from MIT to Apache 2.0.
  • Dependencies:
    • Adds uvicorn to dependencies in uv.lock.
    • Updates rpds-py version from 0.28.0 to 0.29.0 in uv.lock.

This description was created by Ellipsis for 3db64d8. You can customize this summary. It will automatically update as commits are pushed.

Summary by CodeRabbit

  • Documentation

    • Enhanced README with improved formatting and reorganized content across multiple sections.
  • Chores

    • Established automated release workflow for version management and PyPI publishing.
    • Configured Commitizen for conventional commits and changelog generation.
    • Updated project configuration and development tooling settings.
    • Changed default backend from Jaeger to Traceloop for local development.

@coderabbitai
Copy link

coderabbitai bot commented Nov 17, 2025

Caution

Review failed

The pull request is closed.

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Walkthrough

This PR establishes automated release infrastructure and configuration management. It adds Commitizen for version control, a GitHub Actions workflow for automated version bumping and PyPI publishing, updates project metadata and tooling configurations in pyproject.toml, enables VSCode folder exclusion in gitignore, and switches the default backend from Jaeger to Traceloop.

Changes

Cohort / File(s) Summary
Release Automation Configuration
.cz.toml, .github/workflows/release.yml
Adds Commitizen configuration defining conventional commits adapter with PEP440 versioning and changelog management. Introduces multi-job GitHub Actions workflow that bumps version via Commitizen, publishes to PyPI using OIDC, and verifies installation.
Project Metadata & Tooling
pyproject.toml
Adds Apache-2.0 license, project keywords, classifiers, expanded dependencies (pydantic, httpx, python-dotenv, click, uvicorn, starlette, opentelemetry-semantic-conventions-ai), project URLs, build-system configuration with hatchling, and dev dependency groups. Extends tool configurations for ruff, mypy, and pytest.
Documentation & Defaults
README.md, start_locally.sh
README receives formatting and structural updates. start_locally.sh switches default backend from local Jaeger to Traceloop cloud with API key configuration.
Version Control
.gitignore
Enables .vscode/ folder exclusion by uncommenting existing entry.

Sequence Diagram(s)

sequenceDiagram
    actor User
    participant GitHub as GitHub Actions
    participant Commitizen as Commitizen
    participant PyPI as PyPI
    
    User->>GitHub: Trigger release workflow
    GitHub->>GitHub: bump-version job
    GitHub->>Commitizen: Run commitizen-action
    Commitizen->>Commitizen: Bump version & generate changelog
    GitHub->>GitHub: Create GitHub Release
    GitHub->>GitHub: build-and-publish job
    GitHub->>PyPI: Publish wheels & sdists
    GitHub->>GitHub: test-installation job
    GitHub->>PyPI: Wait for indexing
    GitHub->>PyPI: Install from PyPI
    GitHub->>GitHub: Verify installation & version
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • OIDC authentication setup in the release workflow requires security verification and understanding of token exchange flow
  • Dependency additions in pyproject.toml need compatibility checks, particularly with new OpenTelemetry semantic conventions package and existing MCP dependencies
  • Commitizen configuration and version file update patterns must align with actual package structure and versioning strategy
  • Backend switch from Jaeger to Traceloop in startup script may have downstream implications for local development workflows and documentation accuracy

Poem

🐰 Hops with glee, the pipelines flow,
Commitizen marks versions' glow,
PyPI awaits with OIDC's trust,
From Jaeger's nest to Traceloop's dust,
Release automation, oh what a treat!

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dk/release-pipeline

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 762a0e2 and 92ffb72.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (6)
  • .cz.toml (1 hunks)
  • .github/workflows/release.yml (1 hunks)
  • .gitignore (1 hunks)
  • README.md (11 hunks)
  • pyproject.toml (2 hunks)
  • start_locally.sh (1 hunks)

Comment @coderabbitai help to get the list of available commands and usage tips.

@CLAassistant
Copy link

CLAassistant commented Nov 17, 2025

CLA assistant check
All committers have signed the CLA.

Copy link

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

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

Caution

Changes requested ❌

Reviewed everything up to 3db64d8 in 2 minutes and 32 seconds. Click for details.
  • Reviewed 936 lines of code in 6 files
  • Skipped 1 files when reviewing.
  • Skipped posting 7 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. .github/workflows/release.yml:36
  • Draft comment:
    Ensure GitHub CLI (gh) is available on the runner; if not, add an installation step before using 'gh release create'.
  • Reason this comment was not posted:
    Comment did not seem useful. Confidence is useful = 0% <= threshold 50% This comment is asking the PR author to ensure that a tool is available in the environment, which is similar to asking them to double-check or verify something. It doesn't provide a specific code suggestion or point out a specific issue with the code itself. Therefore, it seems to violate the rules.
2. .github/workflows/release.yml:62
  • Draft comment:
    Checkout step in 'build-and-publish' uses ref: 'main'. Confirm that the bumped version commit is on 'main' or consider checking out the commit by SHA.
  • Reason this comment was not posted:
    Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 10% vs. threshold = 50% The comment says "Confirm that..." and "consider checking out..." - these are exactly the types of phrases the rules say to avoid. The rules explicitly state: "Do NOT ask the PR author to confirm their intention, to explain, to double-check things, to ensure the behavior is intended" and "Do NOT make speculative comments". This comment is asking for confirmation and making a speculative suggestion. The workflow appears to be correctly structured with the needs: bump-version dependency ensuring the first job completes before the second, and checking out main should get the bumped version. This is a standard pattern for release workflows. Maybe there's a legitimate race condition or timing issue where checking out main might not get the latest commit? Perhaps the commitizen action doesn't actually push to main, or there's some other workflow configuration issue I'm not seeing? Even if there could be a timing issue, the comment doesn't definitively identify a problem - it asks to "confirm" and "consider", which are speculative phrases. If there was a real issue, the comment should state it definitively and provide a clear fix. The needs: bump-version dependency should ensure proper ordering. This comment should be deleted because it asks the author to "confirm" and "consider" rather than identifying a definite issue with a clear fix. This violates the rule against asking authors to confirm intentions or making speculative comments.
3. README.md:5
  • Draft comment:
    Typo: "OpenLLMetry semantic conventions" appears to be a misspelling. If this is meant to refer to OpenTelemetry, please update accordingly.
  • Reason this comment was not posted:
    Comment was on unchanged code.
4. README.md:604
  • Draft comment:
    There's a potential typo in the project name in the related projects section: "OpenLLMetry". Please verify if this is the intended name or if it should be corrected to "OpenTelemetry".
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.
5. README.md:612
  • Draft comment:
    There's a typo in the GitHub Issues URL: it says 'openllmetry-mcp', but it should probably be 'opentelemetry-mcp'.
  • Reason this comment was not posted:
    Comment was on unchanged code.
6. pyproject.toml:11
  • Draft comment:
    Typographical Error: The value for the license text contains an extra set of quotes. It currently reads {text = ""Apache-2.0"} and should likely be corrected to {text = "Apache-2.0"}.
  • Reason this comment was not posted:
    Marked as duplicate.
7. pyproject.toml:31
  • Draft comment:
    Typographical Error: The classifier for Apache-2.0 includes extraneous quotes within the string. It currently reads "License :: OSI Approved :: "Apache-2.0 License"". Consider removing the inner quotes to ensure consistency.
  • Reason this comment was not posted:
    Marked as duplicate.

Workflow ID: wflow_rLSC3a4roLnmjx55

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.


- name: Bump version
id: cz
uses: commitizen-tools/commitizen-action@master
Copy link

Choose a reason for hiding this comment

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

Pin the commitizen action version instead of using @master to avoid unexpected changes.

Suggested change
uses: commitizen-tools/commitizen-action@master
uses: commitizen-tools/commitizen-action@v3

@doronkopit5 doronkopit5 merged commit c5fd220 into main Nov 17, 2025
8 checks passed
@doronkopit5 doronkopit5 deleted the dk/release-pipeline branch November 17, 2025 12:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants