Skip to content

ci: use smaller runners for control and publishing jobs - #4492

Merged
thymikee merged 1 commit into
mainfrom
ci/rightsize-control-jobs
Nov 13, 2026
Merged

thymikee merged 1 commit into
mainfrom
ci/rightsize-control-jobs

Conversation

@thymikee

@thymikee thymikee commented Nov 12, 2026 •

Copy link
Copy Markdown
Member

Summary

Use Blacksmith's two-CPU Ubuntu 24.04 runner for the Apple status aggregator, closed-PR cancellation, and docs redirect publishing. These jobs run shell, GitHub API requests, or a small Node redirect generator. Test/build/device jobs keep their existing sizes.

Three files, three runner-label changes. Follows Blacksmith's runner-sizing guidance. No linked issue or broader resizing.

Validation

Head: 7fd27eacfe1c4656e070db77fc6def0d96055b22. Base: 880cea7002c3fdb392a2900795ff45f23529aef6.

  • Full-repository pnpm format and git diff --check passed.
  • Independent review: no findings. Rebase git range-diff confirmed an identical implementation patch. Cubic reports no issues; Apex approves. No unresolved review threads.
  • pnpm check:affected --run --base 880cea7002c3fdb392a2900795ff45f23529aef6 --head 7fd27eacfe1c4656e070db77fc6def0d96055b22 --json: passed, exactCommit: true; 42 checks passed, 25 CI-owned checks skipped.
  • Full CI passed on attempt 2, including Coverage, Integration, Lint, Repo Guards and Numeric Ranges. The requested retry passed at the unchanged head. The original coordinate-contract timeout remains unexplained; no source, timeout, or selection changes were applied.
  • Apple validation passed: iOS/macOS succeeded, and GitHub confirms the aggregator ran successfully on blacksmith-2vcpu-ubuntu-2404.
  • Deployment and close-cancellation jobs await their normal triggers. Runtime/billing effects remain unmeasured.

@github-actions

github-actions Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Size Report

Metric Base Current Diff
Installed (including dependencies) 6.23 MB 6.23 MB 0 B
Package (unpacked) 6.23 MB 6.23 MB 0 B
Package (download) 1.89 MB 1.89 MB -6 B

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 33.4 ms 40.9 ms +7.5 ms
CLI --help 78.2 ms 60.8 ms -17.4 ms

@thymikee
thymikee force-pushed the ci/rightsize-control-jobs branch from 7ee0842 to 7fd27ea Compare November 12, 2026 15:56
@thymikee

Copy link
Copy Markdown
Member Author

I found no code problems in 7fd27ea, but the change still needs one real run on the new runner before it can merge. The label blacksmith-2vcpu-ubuntu-2404 appears nowhere else in the repo, and I cannot tell offline whether it is provisioned for the org. If it is not, the three jobs would stay queued, and the Smoke Tests aggregator is a required check, so merges would stop. Please show one run of the Smoke Tests aggregator that picks up a 2vcpu runner and reports its status; a non-draft run of apple.yml on this PR is enough. The deploy and cancel-on-close jobs can be confirmed by a manual dispatch run or the first main push, and by closing this PR.

The Coverage failure looks unrelated, because this diff only touches the apple.yml aggregator, deploy.yml and pr-cancel-on-close.yml, which Coverage does not run on. The log excerpt does not show the failing test, so I could not confirm the coordinate.contract timeout. Please rerun Coverage to check. Before merge, Coverage should pass on rerun and the 2vcpu run should show a status. There are no conflicts.

Not blocking: the deploy job mostly sleeps in a 30s loop for up to 20 minutes, so the smaller runner saves little, but 2 vCPU is enough for node and gh. Take it or leave it.

@thymikee
thymikee marked this pull request as ready for review November 12, 2026 20:27
@thymikee

Copy link
Copy Markdown
Member Author

The runner validation request is now in progress at 7fd27eacfe1c4656e070db77fc6def0d96055b22: I marked the PR ready to trigger its non-draft Apple workflow. I will check the final aggregator's assigned runner and result, not treat a skipped job as proof. No source change is needed for this validation.

The original Coverage job does identify the failure: test/integration/interaction-contract/coordinate.contract.test.ts:80, “coordinate errorTaxonomy: backend failure surfaces as a normalized daemon error”, timed out after 5000 ms. It reports one failed test; it was not an assertion-free infrastructure failure. The exact test and Coverage runner are unchanged by this PR. The prior instrumented base/head diagnostics each passed all six coordinate tests, but both commands failed the global coverage floors for a partial suite. That does not establish the cause or replace full Coverage.

Coverage remains a merge blocker. The repository's failed-gate rule says “Only if its log shows an infrastructure fault, rerun failed CI once.” This log does not establish one, so I have not blindly retried the failed job. The next diagnostic remains fixture-phase timings under the full coverage workload. The PR is ready only to enable the requested runner validation; it is not merge-ready.

The deployment and close-cancellation jobs still need their natural triggering events. I will not deploy or close the PR just to exercise them.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 3 files

View guided diff | Turn on auto-fix | Re-trigger cubic

@apex-sentinel-staging

Copy link
Copy Markdown

Apex Sentinel

Verdict: approve

No findings.

Reviewed with this repository's own Sentinel configuration (0495ee1bb3ae).

Feedback goes in the review comment threads, as a reply under the inline comment of a finding:

Reply @apex-sentinel-staging note ... to add context, or @apex-sentinel-staging pivot ... if it is wrong — I will re-check the cited code.

Useful? Reply @apex-sentinel-staging like, or @apex-sentinel-staging dislike <why> if it is not.

Comment @apex-sentinel-staging review on this conversation to run a full review.

@thymikee
thymikee marked this pull request as draft November 12, 2026 20:35
@thymikee

Copy link
Copy Markdown
Member Author

The requested runner proof is now available at 7fd27eacfe1c4656e070db77fc6def0d96055b22: the Apple aggregator job passed, after both iOS and macOS smoke jobs passed. GitHub's job metadata reports label blacksmith-2vcpu-ubuntu-2404 and runner blacksmith-01m78qcsvjnnaqk7aj17j1kxs7-2vcpu. This confirms the runner is provisioned and the required status aggregator executes successfully.

Apex now approves with no findings; Cubic also reports no issues. I updated the PR validation evidence and restored draft status because the previously documented Coverage timeout is still unresolved. No source changes or failed-CI retry were made. Deployment and close-cancellation jobs remain untested until their normal events.

@thymikee

Copy link
Copy Markdown
Member Author

Following the renewed request to address this review, I started the explicitly requested Coverage rerun once at the unchanged head 7fd27eacfe1c4656e070db77fc6def0d96055b22: CI run. This is the first retry of the failed Coverage job. No source changes, timeout increases, or coverage-selection changes were made. The original timeout cause remains unproven; a successful retry will establish validation at this head, not a root-cause fix. The PR stays draft until the result.

The other blocking request already has direct evidence: the Apple aggregator ran successfully on the 2-vCPU runner. Both automated reviewers report no findings.

@thymikee
thymikee marked this pull request as ready for review November 13, 2026 07:58
@thymikee

Copy link
Copy Markdown
Member Author

The remaining validation request is complete: Coverage passed on attempt 2 at the unchanged head 7fd27eacfe1c4656e070db77fc6def0d96055b22. The full CI run also passed. No source, timeout, or coverage-selection changes were made; the earlier timeout remains unexplained.

Together with the successful Apple aggregator on the 2-vCPU runner, this addresses both validation requests. Both automated reviews have no findings, and there are no unresolved inline threads. Updated the PR evidence and marked it ready for review. This transition triggers the normal smoke workflows again; no merge was performed.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 3 files

View guided diff | Turn on auto-fix | Re-trigger cubic

@thymikee

Copy link
Copy Markdown
Member Author

The evidence I asked for in the earlier review (#4492 (comment)) is now in place at the same head, 7fd27ea. The Smoke Tests aggregator ran on blacksmith-2vcpu-ubuntu-2404 and passed (https://github.com/callstack/agent-device/actions/runs/43300553519/job/131473001868), and Coverage passed on its second attempt (https://github.com/callstack/agent-device/actions/runs/43253209916/job/131764354217). All checks now pass and there are no conflicts, so nothing else is needed before merge. The deployment and close-cancellation jobs will only run on their normal events, as the PR body says.

@thymikee thymikee added the ready-for-human Valid work that needs human implementation, judgment, or maintainer merge label Nov 13, 2026
@thymikee
thymikee merged commit efe6bb9 into main Nov 13, 2026
37 of 38 checks passed
@thymikee
thymikee deleted the ci/rightsize-control-jobs branch November 13, 2026 09:21
thymikee added a commit that referenced this pull request Nov 13, 2026
…baseline

* origin/main:
  ci: use smaller runners for control and publishing jobs (#4492)
  docs(help): point verification at read-only commands, not bare find (#4497)
  fix(android): let open --relaunch accept a package Android restarts at once (#4498)
  fix(snapshot): name the captured Android app in the snapshot header (#4499)
  feat(proxy): configure trusted public upload origins (#4501)
  fix(android): restore screenshot demo permission state (#4477)
  feat(harmonyos): support app uninstall beside deploy (#4292)
  fix(ios): confirm foldable rotation from the lit panel in either simulator set (#4343) (#4440)
  chore: mark 0.21.37 as released
  fix(ios): make back the verified left-edge swipe (#4460)
  fix(ios): mark zero-area nodes unmeasured and point their press refusal at scroll --until (#4495)
  fix(ios): never repeat a synthesized gesture that may have run (#4474)
  fix(capture): publish cropped screenshots atomically after scaling (#4478)
  ci(android): reuse cached system images across emulator workflows (#4490)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-human Valid work that needs human implementation, judgment, or maintainer merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant