Skip to content

fix(ci): harden release and rollout checks#5169

Merged
tlgimenes merged 1 commit into
mainfrom
codex/release-tagging-fix
Jul 24, 2026
Merged

fix(ci): harden release and rollout checks#5169
tlgimenes merged 1 commit into
mainfrom
codex/release-tagging-fix

Conversation

@tlgimenes

@tlgimenes tlgimenes commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Summary

  • classify release changes from a NUL-delimited git diff file instead of exporting the full PR file list through one environment variable
  • keep queued release jobs safe by diffing the triggering merge commit while applying bumps on current main
  • bound silent recovered runs inside the multi-pod rollout-churn polling window

Testing

  • bun run fmt:check
  • bun run lint
  • bun run check
  • bun run knip
  • bun test scripts/release-changes.test.ts
  • bun x tsc -p scripts/tsconfig.json
  • actionlint .github/workflows/release-tagging.yaml
  • replayed the real refactor(studio): split API and web workspaces #5120 first-parent diff: 5,349 NUL-delimited paths / 267,761 bytes, yielding the expected 12 manifests and deploy scope both
  • full unit suite: all files before the unchanged monitoring SQL test passed; Bun 1.3.14 then reproducibly segfaulted on macOS at process startup for that test, while the same test passes 45/45 in isolation. Subsequent files were continued separately; two load-sensitive timer/process tests passed in isolation. Authoritative Linux suite runs in CI.
  • multi-pod suite: not run locally because Docker is unavailable; authoritative suite runs in CI

Impact

No runtime production behavior changes. The release workflow no longer crosses the Linux per-environment-string limit on large PRs, and the multi-pod test environment now resolves truly silent recovered runs before its terminal poll expires.


Summary by cubic

Hardened release tagging to classify changes from a NUL-delimited git diff of the merge commit and compute deploy scope reliably. No production runtime changes.

  • Bug Fixes
    • Use git diff merge^1..merge (NUL-delimited) and scripts/release-changes.ts to avoid env size limits and flaky file lists.
    • Verify the event SHA is the merge commit on main and an ancestor of origin/main, and apply bumps on current main for queued runs.
    • Derive deploy scope from paths (server/web/both) and only bump manifests with a string version.
    • In multi-pod tests, set RUN_IDLE_TIMEOUT_MS=120000 to bound silent recovered runs within the rollout polling window.

Written for commit ff81bbf. Summary will update on new commits.

Review in cubic

@tlgimenes
tlgimenes enabled auto-merge (squash) July 24, 2026 13:36
@tlgimenes
tlgimenes force-pushed the codex/release-tagging-fix branch from d61932c to ff81bbf Compare July 24, 2026 13:42
@tlgimenes
tlgimenes merged commit 6a48b4c into main Jul 24, 2026
15 checks passed
@tlgimenes
tlgimenes deleted the codex/release-tagging-fix branch July 24, 2026 13:49
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