Skip to content

Stop skipping platform.yml's apply when site.yml has nothing to do - #13

Merged
TakGN merged 1 commit into
mainfrom
ci-platform-apply-skipped
Oct 22, 2026
Merged

TakGN merged 1 commit into
mainfrom
ci-platform-apply-skipped

Conversation

@TakGN

@TakGN TakGN commented Oct 22, 2026

Copy link
Copy Markdown
Collaborator

platform-apply was skipped on the merge of #12 (run): platform-dry-run succeeded, but the apply never reached the production approval, so the sf/sf2 8443 rules on lith-1 were never applied.

Why

platform-apply's if: has no status check, so GitHub adds success(). That counts every job up the chain, not just the direct needs. Since c36dd1b, platform-dry-run needs site-dry-run and site-apply, which are skipped on every merge that leaves site.yml alone. So platform.yml has only been applied when site.yml ran in the same merge (6719ee6 on 2026-10-19). #12 was the first platform-only merge since then:

Merge site apply platform dry run platform apply
6719ee6 (2026-10-19) success success success
1225714 (#12) skipped success skipped

platform-dry-run doesn't have the problem: it uses !cancelled() and checks each result by name.

Change

platform-apply now runs on !cancelled() && needs.platform-dry-run.result == 'success', plus the conditions it had. The dry run already requires every check to pass, and the job keeps environment: production, so the apply still waits for a required reviewer.

After merging

This touches .github/workflows/ci.yml, which counts as a change for both playbooks:

  1. site.yml: dry run, then an apply waiting for approval. The dry run should show no changes; approve it anyway, since a rejected site-apply stops platform.yml.
  2. platform.yml: dry run, then the apply, which this time should reach the approval. It should show only Let sf and sf2 push metrics and logs to the monitoring hub #12's two monitoring ingest rules on lith-1 (103.232.206.165, 103.232.206.162).

Checked

  • actionlint passes.

🤖 Generated with Claude Code

platform-apply had no status check, so GitHub added success(), which also
counts platform-dry-run's own needs. site-dry-run and site-apply are skipped
on every merge that leaves site.yml alone, so since c36dd1b platform.yml was
only applied when site.yml ran in the same merge. #12's allowlist was the
first merge to hit it. Check !cancelled() and the dry run's result instead,
as platform-dry-run does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@TakGN
TakGN merged commit 56adc43 into main Oct 22, 2026
9 checks passed
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