feat: tegami release process - #999
Conversation
Signed-off-by: gabriel miranda <gabrielmfern@outlook.com>
Signed-off-by: gabriel miranda <gabrielmfern@outlook.com>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
3 issues found across 8 files
Confidence score: 2/5
- In
.github/workflows/version.yml,runs-on: depot-ubuntu-22.04-2is an invalid runner label, so the version workflow will fail immediately with “No runner found” and block automation after merge — switch it todepot-ubuntu-22.04before merging. - In
.github/workflows/release.yml, the manual dispatch path can publish prereleases from non-canarybranches, which creates a concrete risk of shipping from feature/test refs — restrict the publish condition tomain/canarybefore merge. - In
package.json,node scripts/tegami.mtsis incompatible with Node 22.12–22.17 as declared indevEngines, so contributors/CI on that range can hit runtime failures — add--experimental-strip-types(or raise the minimum Node version) to align behavior before merging.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name=".github/workflows/version.yml">
<violation number="1" location=".github/workflows/version.yml:24">
P1: The `runs-on: depot-ubuntu-22.04-2` label doesn't exist — the workflow will fail with "No runner found" at job assignment time. Depot's Ubuntu 22.04 runner for 2 CPUs is simply `depot-ubuntu-22.04` (no size suffix). The `-4`, `-8`, `-16`, `-32`, and `-64` suffixes exist for larger sizes, but `-2` is not a valid variant.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
Signed-off-by: gabriel miranda <gabrielmfern@outlook.com>
Signed-off-by: gabriel miranda <gabrielmfern@outlook.com>
There was a problem hiding this comment.
0 issues found across 3 files (changes from recent commits).
Requires human review: Auto-approval blocked by 1 unresolved issue from previous reviews.
Re-trigger cubic
There was a problem hiding this comment.
0 issues found across 1 file (changes from recent commits).
Requires human review: Auto-approval blocked by 1 unresolved issue from previous reviews.
Re-trigger cubic
There was a problem hiding this comment.
0 issues found across 1 file (changes from recent commits).
Requires human review: Auto-approval blocked by 1 unresolved issue from previous reviews.
Re-trigger cubic
There was a problem hiding this comment.
0 issues found across 2 files (changes from recent commits).
Requires human review: Auto-approval blocked by 1 unresolved issue from previous reviews.
Re-trigger cubic
Summary
Replaces changesets with Tegami. Versioning and publishing are split across branches:
version.ymlopens/updates a "Version Packages" PR when there are pending changelogs.release.ymlalso runs here, but only publishes if the version is a prerelease (-canary.N).release.ymlpublishes whatever's in the lock (stable or otherwise) once canary is promoted.The version PR pushes/opens as the
resend-version-bumpGitHub App (same setup as react-email), so its checks actually run.Make a changeset
pnpm tegami— interactive prompt, pick a package + bump type, write a summary. Writes a file under.tegami/.Or by hand, create
.tegami/<name>.md:Release stable
pnpm tegamito make changeset(s) on your PR before merging.version.ymlopens/updateschore: release X.Y.Zagainst canary.release.ymlon main publishes tolatest, tags, GitHub release.Release canary (prerelease)
packages: { resend: { prerelease: 'canary' } }toscripts/tegami.mts, merge it.version.ymlopenschore: release X.Y.Z-canary.Nagainst canary.release.ymlrun sees the prerelease version and publishes it under thecanarydist-tag, with a GitHub prerelease.-canary.1,-canary.2, ...).prereleaseline, merge it. The next version PR bumps to stable, carrying over the whole cycle's changelogs. Continue with "Release stable" above.Test plan
pnpm tegami check-publishruns locallyversion.ymlopens a PR as the botBOT_APP_ID/BOT_APP_PRIVATE_KEYsecrets exist on this repoSummary by cubic
Replaces changesets with
tegamiand splits the release flow: versioning oncanary, publishing fromcanary(prereleases) andmain(all) vianpmtrusted publishing. This automates canary prereleases and keeps stable releases gated until promotion.New Features
version.ymlopens/updates a Version PR oncanary;release.ymlpublishes pending versions (prereleases fromcanary, all frommain) using OIDC.tegami-pr.ymlbuilds a release preview and uploads it;tegami-pr-comment.ymlposts it. Both run on runners (not slim containers) so systemgitis available fortegami’s git plugin.scripts/tegami.mtsandpnpmscripttegami; addedtegami@1.1.2.npmtrusted publishing via OIDC on GitHub-hosted runners (noNPM_TOKEN).Migration
.tegami/*.mdor runpnpm tegami; merge tocanaryto open the Version PR.packages: { resend: { prerelease: 'canary' } }inscripts/tegami.mtsto publishx.y.z-canary.Nunder thecanarydist-tag; remove it to graduate the next stable.BOT_APP_IDandBOT_APP_PRIVATE_KEYsecrets; configure annpmTrusted Publisher forrelease.yml; Node 24+ required.Written for commit c1cb726. Summary will update on new commits.