Skip to content

chore(ci): add git-cliff changelog generation#72

Open
Raghul-M wants to merge 4 commits into
kubeflow:mainfrom
Raghul-M:feature/gitcliff
Open

chore(ci): add git-cliff changelog generation#72
Raghul-M wants to merge 4 commits into
kubeflow:mainfrom
Raghul-M:feature/gitcliff

Conversation

@Raghul-M

Copy link
Copy Markdown
Contributor

Description

Add automated changelog generation with git-cliff, following the kubeflow/sdk pattern:

  • Add cliff.toml configured for kubeflow/mcp-server with conventional commit groups (feat / fix / chore / revert)
  • Add CHANGELOG/ with per-minor series files (CHANGELOG-0.1.md for the current 0.1.x line)
  • Add make changelog VERSION=X.Y.Z to generate or prepend changelog entries via the git-cliff Docker image

Full release-workflow / on-tag automation remains tracked in #16.

Related Issue

Fixes #59

Checklist

  • I have read the CONTRIBUTING guide
  • Tests pass locally (make test-python)
  • Linting passes (make verify)
  • Documentation updated (if applicable)
  • My commits are signed off (git commit -s)

Testing

  • Unit tests
  • Integration tests
  • E2E tests
  • Manually tested (describe below)

Verified make help exposes the changelog target. Changelog generation can be exercised with:

make changelog VERSION=0.1.0
# optional: GITHUB_TOKEN=... make changelog VERSION=0.1.0

Signed-off-by: Raghul-M <raghul.m1430@gmail.com>
Copilot AI review requested due to automatic review settings July 13, 2026 06:09
@google-oss-prow

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign astefanutti for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@github-actions

Copy link
Copy Markdown

🎉 Welcome to the Kubeflow MCP Server! 🎉

Thanks for opening your first PR! We're happy to have you as part of our community 🚀

Here's what happens next:

  • If you haven't already, please check out our Contributing Guide for repo-specific guidelines and the Kubeflow Contributor Guide for general community standards
  • Our team will review your PR soon! cc @kubeflow/kubeflow-sdk-team

Join the community:

Feel free to ask questions in the comments if you need any help or clarification!
Thanks again for contributing to Kubeflow! 🙏

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds git-cliff-based changelog generation for per-minor release series.

Changes:

  • Adds conventional commit grouping and GitHub links.
  • Adds a Docker-backed make changelog target.
  • Initializes the 0.1.x changelog.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
Makefile Adds changelog generation target.
cliff.toml Configures changelog formatting and commit groups.
CHANGELOG/CHANGELOG-0.1.md Initializes the 0.1 series changelog.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Makefile Outdated
Comment on lines +100 to +104
if [ -f "$$CHANGELOG_PATH" ]; then \
$$CLIFF_CMD --prepend "$$CHANGELOG_PATH"; \
else \
$$CLIFF_CMD -o "$$CHANGELOG_PATH"; \
fi; \
Comment thread Makefile Outdated
Comment on lines +96 to +97
if [ -n "$(GITHUB_TOKEN)" ]; then \
CLIFF_CMD="$$CLIFF_CMD -e GITHUB_TOKEN=$(GITHUB_TOKEN)"; \
Comment thread Makefile
if [ -n "$(GITHUB_TOKEN)" ]; then \
CLIFF_CMD="$$CLIFF_CMD -e GITHUB_TOKEN=$(GITHUB_TOKEN)"; \
fi; \
CLIFF_CMD="$$CLIFF_CMD -w /app ghcr.io/orhun/git-cliff/git-cliff:latest --unreleased --tag $(VERSION)"; \
Comment thread CHANGELOG/CHANGELOG-0.1.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks @Raghul-M, cliff.toml looks good and matches kubeflow/sdk !

One bug I see .. before /lgtm: CHANGELOG/CHANGELOG-0.1.md already exists as a stub, so the first 'make changelog VERSION=0.1.0' always hits '--prepend' and puts the generated release above the '# Changelog' intro. Either drop the stub and let -o create the file, or treat “no release heading yet” as a create/overwrite path.

@Krishna-kg732 Can you please confirm this fix fits with existing release cadence workflow ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@abhijeet-dhumal Dropped the stub CHANGELOG/CHANGELOG-0.1.md so the first run can create the file with -o. Makefile now prepends only when a real release heading (# [X.Y.Z]) is already present; otherwise it overwrites/creates with -o. That covers stubs, empty files, and a missing path.

@abhijeet-dhumal

Copy link
Copy Markdown
Member

/ok-to-test

@google-oss-prow google-oss-prow Bot added the ok-to-test Approve CI for external contributors label Jul 18, 2026
Signed-off-by: Raghul-M <raghul.m1430@gmail.com>
@google-oss-prow google-oss-prow Bot added size/M and removed size/L labels Jul 18, 2026
@Raghul-M
Raghul-M requested a review from abhijeet-dhumal July 18, 2026 13:48
Signed-off-by: RAGHUL M <raghul.m1430@gmail.com>
Comment thread Makefile Outdated
Co-authored-by: Abhijeet Dhumal <84722973+abhijeet-dhumal@users.noreply.github.com>
Signed-off-by: RAGHUL M <ragm@redhat.com>
@Raghul-M
Raghul-M requested a review from abhijeet-dhumal July 19, 2026 19:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ok-to-test Approve CI for external contributors size/M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ci: Add CHANGELOG generation with git-cliff

3 participants