nightly guards: the opt-in Cloud Tunnel step is covered, keyed and not legacy (base red)
Merged
TE
3d ago+17+17+01234567890123456789-6-6-0123456789
Fixes two base reds on feat-cmux-next, both from 6b29137497e9 ("nightly: ship the opt-in Cloud Tunnel on a channel with a profile"), which added a Prepare the Cloud Tunnel extension step to nightly.yml and a CMUX_CLOUD_TUNNEL env on Build nightly app (Release):
cmux-next guards / nightly-guards / workflow-guard-tests / release-notarytests/test_nightly_universal_build.sh:FAIL: nightly still handles the legacy tunnel extension. The check greps the expanded workflow (step scripts inlined), and the newcloud-tunnel-prepare.shmentionsSystemExtensions. The check now skips that one step and still fails on tunnel handling anywhere else.tests/test_nightly_step_coverage.py: the new step had no entry in.github/nightly-step-coverage.json. It isnightly_only(secret tunnel profile, signing entitlements).
cmux-next / cmux-next checks(Script tests):tests/test_nightly_release_product_reuse.pytest_skipped_steps_read_no_unkeyed_decide_outputfailed onnotary_probeandprofile_channel, which the Release build step now reads.notary_probenever reaches a product lookup (the lookup condition excludes it), andprofile_channelis derived fromnotary_probe,trackandchannel(both keyed;''on nightly-next), so neither can change a reused app without changing its key. Both are allowed, with a comment saying why. This red first showed at #33215 only because that was the first run of the job after the Cloud Tunnel series; #33215 does not touch these files.
Tests and a registry only; no workflow or Cloud Tunnel code changes. All three tests pass locally.
Agent session: agent session
🤖 Generated with Claude Code
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Fixes three nightly guard failures on feat-cmux-next caused by the new "Prepare the Cloud Tunnel extension" step added to nightly.yml.
- Registers the step in
.github/nightly-step-coverage.jsonasnightly_only. - Skips that step in
test_nightly_universal_build.shso the legacy tunnel check still catches other tunnel handling. - Allows
notary_probeandprofile_channelas unkeyed Release build inputs intest_nightly_release_product_reuse.py; they cannot change a reused app without changing its key.