Skip to content

Comments

ci: add release pipeline and PR title validation#3

Merged
amirna2 merged 5 commits intomainfrom
ci/release-pipeline
Feb 23, 2026
Merged

ci: add release pipeline and PR title validation#3
amirna2 merged 5 commits intomainfrom
ci/release-pipeline

Conversation

@amirna2
Copy link
Owner

@amirna2 amirna2 commented Feb 23, 2026

Summary

Add automated release pipeline and PR title enforcement for conventional commits.

  • Release workflow (.github/workflows/release.yml): triggered on v* tag push, runs make ci, generates changelog via conventional-changelog, creates GitHub Release
  • PR title validation (.github/workflows/pr-title.yml): enforces conventional commit format on PR titles using semantic-pull-request action
  • Version embedding: --version flag on the binary, version/commit/date injected via ldflags at build time
  • Housekeeping: moved docs/TUI_PLAN.md into docs/plans/tui-roadmap.md

Purpose

Complete the CI/CD pipeline. The CI PR (#2) added build/test/lint gates. This adds the release half: tag → changelog → GitHub Release. PR title validation ensures conventional commit format flows through squash merges into the changelog.

Tests Performed

  • make ci passes locally (all checks green)
  • make build && bin/questcore --version prints version/commit/date correctly

Tests Not Performed

  • Release workflow (requires pushing a tag after merge to validate)
  • PR title validation (will be validated by this PR itself on GitHub)

CI Checks

  • make ci passes locally

AI Assisted

  • Yes
  • No

Plan: docs/plans/release-pipeline.md

🤖 Generated with Claude Code

amirna2 and others added 5 commits February 22, 2026 22:03
Move docs/TUI_PLAN.md to docs/plans/tui-roadmap.md so all plan
documents live in the same directory. Add release pipeline plan.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add version/commit/date variables to main, injected via ldflags at
build time. Makefile build target now uses git describe for version.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Enforce that PR titles follow conventional commit format using
semantic-pull-request action. Required for changelog generation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
On semver tag push, runs make ci then generates changelog from
conventional commits via conventional-changelog and creates a
GitHub Release.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@amirna2 amirna2 merged commit d69dc26 into main Feb 23, 2026
2 checks passed
@amirna2 amirna2 deleted the ci/release-pipeline branch February 23, 2026 06:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant