Skip to content

Package & CI/CD #9

@prosdev

Description

@prosdev

Phase: 6 - Deployment
Estimated Effort: 4 hours
Tasks: Task 13, Task 14 from specs/core-pipeline/tasks.md

Checklist

Task 13: Package for PyPI (2 hours)

  • Update pyproject.toml metadata (version, classifiers)
  • Export public API in src/eventkit/init.py
  • Create CHANGELOG.md
  • Create examples/basic_usage.py
  • Create examples/cloud_run_deployment.py
  • Create examples/docker-compose.yml (Firestore emulator)
  • Test package build

Task 14: Setup CI/CD (2 hours)

  • Create .github/workflows/test.yml
    • Run pytest on push/PR
    • Run mypy type checking
    • Run ruff linting
    • Coverage reporting (Codecov)
    • Matrix: Python 3.11, 3.12
  • Create .github/workflows/publish.yml
    • Build on tag push (v*)
    • Publish to PyPI
    • Create GitHub release

Acceptance Criteria

  • Package builds without errors
  • Public API exported correctly
  • Examples run successfully
  • CI runs on every push
  • CD publishes on tag
  • All tests pass in CI

Files to Create

src/eventkit/__init__.py
CHANGELOG.md
examples/basic_usage.py
examples/cloud_run_deployment.py
examples/docker-compose.yml
.github/workflows/test.yml
.github/workflows/publish.yml

Dependencies: Issue #8
User Stories: All (deployment)

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