Skip to content

chore(ci): run full test suite only for releases - #441

Merged
shuv1337 merged 1 commit into
integration-v2from
trim-ci
Oct 6, 2026
Merged

shuv1337 merged 1 commit into
integration-v2from
trim-ci

Conversation

@shuv1337

@shuv1337 shuv1337 commented Oct 6, 2026

Copy link
Copy Markdown
Owner

Pull requests and merges were running the full unit and e2e suites (~23 min per PR). This limits the full suite to releases.

  • Pull requests: typecheck only.
  • Merges to integration-v2: nothing. Each PR was already typechecked.
  • publish.yml: calls typecheck.yml and test.yml as reusable workflows. They run alongside the builds, and the npm/GitHub release step waits for both.
  • test.yml: also runs on pushed v* tags and by hand. The affected-packages job is removed because releases always run the full suite.

Before this change, e2e was disabled on integration-v2, so releases cut from it had no e2e coverage.

shuv1337 commented Oct 6, 2026

Copy link
Copy Markdown
Owner Author

🔍 Automated Cursor review is underway. Please hold off on merging until the review comment lands here (usually 10–20 minutes).

@shuv1337
shuv1337 merged commit dbd846b into integration-v2 Oct 6, 2026
3 checks passed
@shuv1337
shuv1337 deleted the trim-ci branch October 6, 2026 08:03
@cursor

cursor Bot commented Oct 6, 2026

Copy link
Copy Markdown

Review complete: no High or Medium findings. One Low finding.

The publish step does wait for both reusable workflows and will not publish if they fail. publish’s if has no status function, so Actions ANDs success(); a failed typecheck or test caller job skips publish (publish.yml lines 177–187). test.yml has no concurrency block, and typecheck.yml lines 10–13 put non-PR runs in a run_id group, so a release run is not cancelled by a pull request. integration-v2 is not a protected branch (no required status checks), so dropping unit, e2e, and affected packages from pull_request will not stall merges. A tag created by publish.yml does not start a second suite: GH_TOKEN is github.token (publish.yml line 280), and token-created push events do not start workflows.

Low

test.yml lines 6–8 run the suite on pushed v* tags, but that trigger does not run for the tag publish.yml creates. The same limit is already documented on notify-discord.yml lines 3–5. The release gate is only the workflow_call from publish.yml lines 37–42.

If a v* tag is pushed outside Actions, the unit job still runs bun run script/build.ts (test.yml lines 86–92). Checkout is detached and GITHUB_REF_TYPE is tag, so resolveChannel in packages/script/src/version.ts lines 22–48 throws unless that commit is the tip of exactly one branch (packages/script/test/version.test.ts lines 65–67). The smoke step then fails the tag run.

Suggested fix: drop the v* push trigger and keep workflow_call plus workflow_dispatch. If the tag entry point should stay, set OPENCODE_CHANNEL when github.ref_type == 'tag'.

shuv1337 commented Oct 6, 2026

Copy link
Copy Markdown
Owner Author

Note: this PR was merged at about 1:03 AM PT, before the review above finished, so that review was done after the merge. The Low finding would need a follow-up PR on integration-v2.

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