Skip to content

Bootstrap opentelemetry-python-genai repo #4574

@MikeGoldsmith

Description

@MikeGoldsmith

Tracking issue for infrastructure and CI setup needed when the opentelemetry-python-genai repo is created. This covers migrating the GenAI instrumentation packages out of opentelemetry-python-contrib into their own repository.

Packages to migrate

  • opentelemetry-instrumentation-anthropic
  • opentelemetry-instrumentation-claude-agent-sdk
  • opentelemetry-instrumentation-google-genai
  • opentelemetry-instrumentation-langchain
  • opentelemetry-instrumentation-openai-agents-v2
  • opentelemetry-instrumentation-openai-v2
  • opentelemetry-util-genai

Repo infrastructure

Licensing & compliance

  • LICENSE file (Apache-2.0)
  • SPDX license headers (# SPDX-License-Identifier: Apache-2.0) on all Python files
  • CI check for SPDX headers (port scripts/check_license_header.py from contrib)

CI / GitHub Actions

  • Lint workflow (ruff, mypy, SPDX check)
  • Test workflow per package (consider generating from templates like contrib does with tox -e generate-workflows)
  • CodeQL / security scanning
  • FOSSA or equivalent license compliance check

Changelog management (towncrier)

  • Towncrier config in root pyproject.toml
  • Changelog fragment directories (.changelog/ at root; evaluate per-package .changelog/ later)
  • Changelog CI check — require fragment on PRs to main, allow "Skip Changelog" label bypass
  • Changelog preview step in CI (towncrier build --draft)
  • Pin towncrier version
  • Changelog Jinja2 template (port from contrib or simplify)

PR automation

  • GitHub Action to add PRs to a project board on opened / reopened / ready_for_review (port add-to-project.yml)
    • Needs GitHub App (otelbot) or token with project write access
    • Filter out draft PRs
  • PR labeler (auto-label by package path)
  • Component owners auto-assignment (port component-owners.yml workflow + config)
  • PR template

GitHub board & dashboard

  • Create new GitHub Project board for the repo
  • Automate adding issues and PRs to the board
  • Dashboard views: open PRs by package, issues by label, stale items

Labels

  • bug, enhancement, documentation
  • Skip Changelog
  • prepare-release
  • Stale
  • Add others (e.g., per-package labels, dependencies) as needed later

Other

  • CODEOWNERS file
  • AGENTS.md (port from contrib instrumentation-genai/AGENTS.md and root)
  • Copilot / Claude review instructions (port .github/instructions/ from contrib)
  • Issue templates (bug report, feature request)
  • CONTRIBUTING.md with GenAI-specific guidelines
  • RELEASING.md with release process
  • Stale issue/PR bot

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions