feat: add deployment tagging, GitHub Releases, and PR template#163
feat: add deployment tagging, GitHub Releases, and PR template#163
Conversation
Add a post-deploy step to deploy.yml that creates a git tag (deploy-YYYY-MM-DD-SHA) and a GitHub Release with auto-generated notes after each successful production deployment. This provides a clear history of which commits were deployed and when. Add a default PR template with a pre-deploy checklist covering CI status, migration review, secrets, and Durable Objects state.
There was a problem hiding this comment.
Pull request overview
Adds automated deployment tracking to the production deploy workflow by tagging each successful deploy and creating a corresponding GitHub Release, and introduces a default PR template with a pre-deploy checklist to standardize releases to prod.
Changes:
- Grant workflow permission to write repository contents so it can push tags and create releases.
- After successful deploy, fetch tags, create a
deploy-YYYY-MM-DD-SHAtag, push it, and create a GitHub Release with autogenerated notes since the previous deploy tag. - Add
.github/PULL_REQUEST_TEMPLATE.mdwith summary, checklist, and rollback plan prompts.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
.github/workflows/deploy.yml |
Adds post-deploy tagging + GitHub Release creation for production deployments. |
.github/PULL_REQUEST_TEMPLATE.md |
Adds a default PR template with a pre-deploy checklist and rollback plan section. |
| permissions: | ||
| contents: write | ||
|
|
There was a problem hiding this comment.
Workflow-wide permissions: contents: write grants write access to the repo token for all jobs (including test/e2e). Consider setting a read-only default at the workflow level and granting contents: write only on the deploy job (or even only on the release/tagging step) to reduce the blast radius if a job step is compromised.
There was a problem hiding this comment.
Done in ac8d3b5. Changed the workflow-level permission to contents: read (so test and e2e jobs only get read access) and added permissions: contents: write scoped to the deploy job only.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Agent-Logs-Url: https://github.com/mahata/mlack/sessions/b28d6893-dc36-48da-a24d-589cb4ad8e05 Co-authored-by: mahata <23497+mahata@users.noreply.github.com>
Summary
deploy.ymlthat creates a git tag (deploy-YYYY-MM-DD-SHA) and a GitHub Release with auto-generated notes after each successful production deploymentprodDetails
Deployment Tracking (
deploy.yml)After a successful Cloudflare Workers deploy, the workflow now:
actions/checkoutdoes a shallow clone)deploy-2026-03-30-a1b2c3ddeploy-*tagThis provides:
git tag -l 'deploy-*'or the GitHub Releases pageThe workflow gets
permissions: contents: writeto push tags and create releases viaGITHUB_TOKEN.PR Template (
.github/PULL_REQUEST_TEMPLATE.md)A default template shown for all new PRs with: