ci(release): add release-connector workflow and git-cliff changelog config (#6693)#6701
Open
jabesq wants to merge 1 commit into
Open
ci(release): add release-connector workflow and git-cliff changelog config (#6693)#6701jabesq wants to merge 1 commit into
jabesq wants to merge 1 commit into
Conversation
74967ef to
ee7857a
Compare
Member
Author
|
For testing, I've forked the repo and ran the workflow there:
|
Contributor
There was a problem hiding this comment.
Pull request overview
This PR introduces a proof-of-concept GitHub Actions workflow to release a single connector independently (manual workflow_dispatch, with dry_run: true by default), alongside initial git-cliff configuration and a seeded repository changelog to support scoped release notes generation.
Changes:
- Add
release-connector.ymlworkflow to resolve a connector directory, compute a CalVer version, build multi-arch images (plus optional FIPS), generate scoped release notes, and (when not dry-run) tag + publish a GitHub Release. - Add
cliff.tomlto configure git-cliff parsing/grouping and release note rendering for per-connector tags. - Add a generated
CHANGELOG.mdseed for baseline changelog content.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 8 comments.
| File | Description |
|---|---|
.github/workflows/release-connector.yml |
Adds the manual, per-connector release workflow (resolve/versioning, notes generation, build/push, tag+release). |
cliff.toml |
Adds git-cliff configuration for conventional-commit parsing and release note templating. |
CHANGELOG.md |
Seeds an initial generated changelog baseline for future release notes. |
75380bd to
c8b7315
Compare
c8b7315 to
b08af38
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposed changes
release-connector.yml— aworkflow_dispatchworkflow that releases a single connector independently, decoupled from the current monorepo-wide release train. The workflow takes a connector name, auto-discovers its directory across type dirs (external-import,internal-enrichment, etc.), computes a CalVer version (7.YYMMDD.PATCH), builds multi-arch Docker images (amd64 + arm64) for DockerHub and GHCR (with optional FIPS variant), generates scoped release notes via git-cliff, and creates a Git tag + GitHub Release — all behind adry_runtoggle that defaults to on for safety.cliff.toml— git-cliff configuration for conventional-commit parsing and Tera-based changelog rendering, with commit grouping (Features, Bug Fixes, Dependencies, etc.), preprocessors to strip issue numbers, and a footer that auto-generates compare links.CHANGELOG.md— initial changelog seed generated by git-cliff for version7.260609.0, establishing the baseline for future per-connector release notes.contents: readby default,contents: write/packages: writeonly where needed), and a concurrency group prevents parallel releases of the same connector.Related issues
Checklist
Further comments
This is a proof-of-concept (POC) and the first chunk of the connector release decoupling effort (#6693). The goal is to move from a single monolithic release that tags and publishes every connector at once toward independent, per-connector releases with their own CalVer version, changelog, and Docker images.
The workflow is intentionally
workflow_dispatch-only (manual trigger) withdry_run: trueas the default, so it can be validated on real connectors without side effects before wiring it into automated triggers (e.g., push-to-trunk or label-based dispatch) in subsequent chunks.Key design decisions:
7.YYMMDD.PATCH— preserves the existing major-version alignment with the OpenCTI platform while making release dates immediately visible. The patch counter auto-increments from existing tags when multiple releases happen on the same day.connector-name/version— namespaces tags per connector so git-cliff can scope changelogs and tags never collide across connectors.--include-pathand--tag-pattern— ensures each connector's changelog only contains commits that touched its directory, even though all connectors share one repository.