Repository navigation
(CF-61) Chore/github releases - #60
Merged
Merged
Conversation
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.
Summary
Publishes a GitHub release whenever a
v*tag is pushed, and bumps every workspace to 1.0.0 so the first one can be cut once this merges..github/workflows/release.yml: a tag push runs the CI checks again (ci.ymlviaworkflow_call, as the dev deploy does), refuses a tag that does not match the rootpackage.jsonversion, then runsgh release createwith the notes below. A hyphenated tag (v1.1.0-rc.1) is published as a pre-release. The workflow defaults tocontents: readand only the publish job getscontents: write; there is no AWS access and nothing is deployed..github/scripts/release-notes.mjs: builds the notes from the squash-merge subjects since the previousv*tag, grouped into Features, Fixes, Docs and Maintenance by their prefix (feat(…),(CF-xx) Fix/…, …), with anything else under Other. GitHub's own generated notes group by PR label, and none of our PRs are labelled. A final release skips pre-release tags when finding its predecessor, so v1.1.0 covers everything since v1.0.0 rather than since v1.1.0-rc.1. From the second release on, the notes end with a compare link.npm version --workspaces --include-workspace-root, sopackage-lock.jsonchanges only in version fields (the root had none before, so it gains two).No build is attached to the release. The edge bundle and the console bundle bake in their deployment's config (table, Cognito, API URL) when Terraform applies them, so a prebuilt zip would not work anywhere. Consumers pin the modules to the tag (
?ref=v1.0.0) instead.Once merged:
Tests
npm run lintis clean. I ran the notes script against temporary local tags, deleted afterwards: a first release covers the whole history, a later release covers only the commits since the previous tag, and a final release after a pre-release skips back past it. On the currentdevit lists 22 features, 24 fixes, 2 docs, 3 maintenance, and the initial commit under Other. I couldn't lint the workflow itself (actionlintisn't installed here), so the first real run is the v1.0.0 tag push.Ticket
CF-61
Checklist
shared/schemas and theirshared/examples/were updated together (n/a)$refs the updated schemas — no inline redefinition (n/a)aws_cloudfront_distribution(except underexamples/)