Skip to content

ci: add release automation and changelog mirror#85

Merged
KyleTryon merged 7 commits into
mainfrom
codex/release-ci-changelog
May 28, 2026
Merged

ci: add release automation and changelog mirror#85
KyleTryon merged 7 commits into
mainfrom
codex/release-ci-changelog

Conversation

@KyleTryon
Copy link
Copy Markdown
Contributor

Summary

  • add Conventional Commit PR-title validation for future release automation
  • add a manual release workflow that plans SemVer, smoke-tests/publishes Docker images, creates GitHub Releases via API, and triggers the Cloudflare Pages deploy hook
  • add a static /changelog page that mirrors GitHub Releases at Astro build time

Notes

  • Docker tag publishing now lives in the release workflow; the Docker workflow remains for PR/manual smoke builds.
  • GitHub repo merge settings were updated separately to squash-only with PR-title squash commits.
  • After this lands on main, enable branch protection requiring PR Title / Validate title, CI / Lint and build, and Docker / Build image.
  • Add CLOUDFLARE_PAGES_DEPLOY_HOOK_URL before running a real release.

Validation

  • pnpm lint
  • pnpm test
  • pnpm knip
  • pnpm build
  • pnpm build:web
  • pnpm test:release
  • production preview screenshot for /changelog

@cloudflare-workers-and-pages
Copy link
Copy Markdown
Contributor

cloudflare-workers-and-pages Bot commented May 28, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
cliparr-web b531027 Commit Preview URL

Branch Preview URL
May 28 2026, 11:34 PM

@KyleTryon KyleTryon requested a review from Copilot May 28, 2026 22:44
@KyleTryon KyleTryon marked this pull request as ready for review May 28, 2026 22:44
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds release automation infrastructure: a Conventional Commits PR title validator, a manual release workflow that plans the next SemVer, smoke-tests/publishes the multi-arch Docker image, creates a GitHub Release, and triggers a Cloudflare Pages rebuild. The website also gains a /changelog page that mirrors GitHub Releases at Astro build time.

Changes:

  • New Release and PR Title GitHub workflows; existing Docker workflow scoped to PR/manual smoke builds only.
  • Release planning/notes helpers under scripts/release/ (conventional commit parsing, SemVer bump, prerelease numbering, GitHub Release creation) with node --test coverage of conventional.mjs and new root scripts test:release / release:plan.
  • Astro /changelog page backed by a small markdown renderer and GitHub Releases fetcher, with header/footer nav entries and matching .release-notes styles.

Reviewed changes

Copilot reviewed 16 out of 17 changed files in this pull request and generated no comments.

Show a summary per file
File Description
.github/workflows/release.yml New manual release workflow: plan, validate, smoke-test, push image, create release, trigger Pages hook.
.github/workflows/pr-title.yml New Conventional Commit PR-title check via amannn/action-semantic-pull-request.
.github/workflows/docker.yml Drops tag-push trigger and publish path; remains PR/manual smoke build only.
scripts/release/conventional.mjs Conventional Commit parser, SemVer/tag utilities, change summary helpers.
scripts/release/plan-release.mjs Plans next version, docker tags, GitHub output values from git log + PR titles.
scripts/release/create-github-release.mjs Generates notes, composes Docker section, creates GitHub Release via API.
scripts/release/conventional.test.mjs node:test suite covering classification, bumps, prerelease, merge-commit parsing.
package.json Adds test:release (run first by test) and release:plan scripts.
apps/www/src/pages/changelog.astro New static changelog page rendering releases at build time.
apps/www/src/lib/githubReleases.ts Fetches and normalizes GitHub Releases for the site.
apps/www/src/lib/markdown.ts Minimal escape-first markdown renderer for release bodies.
apps/www/src/styles/global.css .release-notes prose styles.
apps/www/src/components/Header.astro, Footer.astro Link to /changelog.
apps/www/src/env.d.ts Typing for optional GITHUB_TOKEN env var.

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

@KyleTryon KyleTryon merged commit 9fbc3bf into main May 28, 2026
3 checks passed
@KyleTryon KyleTryon deleted the codex/release-ci-changelog branch May 28, 2026 23:37
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.

2 participants