litestar-org / litestar-org/project-template

ci: evaluate git-cliff release automation (cd.yaml)

Open
#44 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ci question
Dominant language
Python
Stars
13
Forks
3
PR merge metrics
No merged PRs in 30d

Description

## Context

PR #16 adds a `cd.yaml` (Continuous Deployment) that, on a `v*.*.*` tag push, generates a changelog with [git-cliff](https://git-cliff.org/) (`orhun/git-cliff-action`) and drives a GitHub release.

> **Design/decision issue** — this changes the release flow and needs new config, so let's agree the shape before implementing.

## Open questions

- **Relationship with existing workflows.** `publish.yaml` (PyPI) and `docs.yaml` both trigger on `release: published`. Does `cd.yaml` (tag-triggered) *create* the release that then triggers those, or do we consolidate? Need one coherent release story.
- **git-cliff config.** Requires a `[tool.git-cliff]` section in `pyproject.toml` (commit parsing, changelog template). None exists yet.
- **Changelog destination.** Source writes `docs/CHANGELOG.rst` — do we want a committed changelog file, release-notes-only, or both?
- **Trigger model.** Tag-push vs. the current release-published flow (#16's `CONTRIBUTING` also referenced a `prepare_release.py` script we did not adopt).

## Proposed tasks

- [ ] Decide the release flow (tag → cd → release → publish/docs)
- [ ] Add `[tool.git-cliff]` config
- [ ] Add `.github/workflows/cd.yaml` (SHA-pinned — note #16 uses `orhun/git-cliff-action@main`, a moving ref we must pin; least-privilege `contents: write` for release creation)
- [ ] Reconcile with `publish.yaml` / `docs.yaml`

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read PR #16, then compare the existing .github/workflows/publish.yaml and docs.yaml with the proposed cd.yaml flow. Review pyproject.toml, CONTRIBUTING, and the referenced prepare_release.py script before deciding the trigger and changelog destination. Done means the release path is agreed, configuration and workflow changes are defined, and the existing workflows are reconciled.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, github-actions, python
Domain
ci-cd, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.