Skip to content

feat!: migrate to git-cliff and rewrite gitops workflows#105

Open
swibrow wants to merge 3 commits into
mainfrom
git-ops-update
Open

feat!: migrate to git-cliff and rewrite gitops workflows#105
swibrow wants to merge 3 commits into
mainfrom
git-ops-update

Conversation

@swibrow
Copy link
Copy Markdown
Contributor

@swibrow swibrow commented Mar 20, 2026

Summary

  • Replace semantic-release with git-cliff (gh-release.yaml) — native scoped tags via --tag-pattern, monorepo support via --include-path, removes Node.js dependency
  • Consolidate gh-release-on-main.yaml into gh-release.yaml — one release workflow, metadata_file support ported
  • Rewrite gitops-image-tag.yaml to use dnd-it/action-yaml-update@v0 — from ~236 lines yq/sed to ~117 lines
  • Add argocd_server passthrough to service-pipeline.yaml — forwards to argocd-cli.yaml
  • Add cliff.toml, docs/VERSIONING.md with v3→v4 migration guide, and design doc

Breaking Changes

  • gh-release.yaml inputs changed: use_semantic_release, tag_format, tag removed. New: service_name, service_path, cliff_config, metadata_file
  • gh-release-on-main.yaml removed (consolidated)
  • gitops-image-tag.yaml inputs simplified to mirror action-yaml-update
  • Ships as v4 — callers on @v3 are unaffected

Test plan

  • _test-gh.yaml — dry-run whole-repo, scoped with service_name, PR context forces dry-run
  • _test-gitops-image-tag.yaml — image mode, key mode, input validation rejection
  • Verify release.yaml triggers correctly on merge (creates v4.0.0 via git-cliff)
  • Verify service-pipeline.yaml argocd_server forwarding works with vars.argocd_server fallback

@github-actions github-actions Bot added documentation Improvements or additions to documentation github ci-cd gitops labels Mar 20, 2026
swibrow added 3 commits March 20, 2026 16:58
…e-tag

Replace semantic-release with git-cliff for automated versioning. This enables
native scoped tags (service_name-v{version}) and monorepo path filtering.

- Rewrite gh-release.yaml to use orhun/git-cliff-action@v4
- Consolidate gh-release-on-main.yaml into gh-release.yaml
- Rewrite gitops-image-tag.yaml to use dnd-it/action-yaml-update@v0
- Add argocd_server passthrough to service-pipeline.yaml
- Add cliff.toml, docs/VERSIONING.md with migration guide
- Rewrite tests for git-cliff, add gitops-image-tag tests

BREAKING CHANGE: gh-release.yaml inputs changed. use_semantic_release,
tag_format, and tag inputs removed. New inputs: service_name, service_path,
cliff_config, metadata_file. gh-release-on-main.yaml removed.
The ref: github.ref_name resolves to '105/merge' in PR context which
is not a valid branch name. Letting checkout use the default ref.
Split git-cliff invocation into two conditional steps to avoid
--tag-pattern + --bump failing when no matching tags exist yet.
First releases skip --tag-pattern and default to version 0.1.0.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-cd documentation Improvements or additions to documentation github gitops

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant