Conversation
The plan check says what we intend to do. This says what is actually there. A second call to the same action, carrying the state instead of the plan. The state is masked in the runner before it leaves, lands on the workflow as artifacts/tfstate.json, and updates the platform's resource view. It reports through neither surface. Publishing state is not a verdict, and a second comment restating rules that had no document to read is noise -- the gate above owns the comment and the check run, and this call's own verdict is still in the job summary. The tag stays even so: it names the uploaded bundle, and the default would overwrite the gate's. state.json is gitignored so it never travels as part of the uploaded source.
🛡️ Tirith — 1 warned, 3 passedScanned commit + aws_s3_bucket.analytics create
+ bucket = "demo-tirith-action-analytics-790543352839"
+ force_destroy = false
+ tags = {"Demo":"tirith-action-demo","Name":"tirith-action-demo","Owner":"data-platform"}
+ tags_all = {"Demo":"tirith-action-demo","Name":"tirith-action-demo","Owner":"data-platform"}
… and 23 computed attribute(s), known after applyPlan: 1 to add, 0 to change, 0 to destroy. 5 unchanged.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The check in chapter 2 reads the plan —
what we intend to do. This adds a second call to the same action, after
Apply, carrying the state —what is actually there.
The state is masked in the runner before it goes anywhere, lands on the workflow as
artifacts/tfstate.json, and updates the platform's view of what this repository actually owns.state.jsonis gitignored, so it is never packed into the uploaded source.Why it reports nothing
Publishing state is not a verdict. This call has no opinion to offer about whether the change is
allowed — chapter 2's gate already
decided that, before the apply, which is the only moment where the answer can still change anything. So
the call reports through neither surface: one comment and one check run on this PR, both belonging
to the gate.
Left to report, it had one:
2 warned, 1 passed, where both warns were the plan rule and the cost ruledeclining to evaluate a state document. That is correct behaviour — a rule that could not run does not
get to look like a rule that passed — but as a second comment it reads like half the check failed to
fire. Its verdict is still in the job summary for anyone who wants it.
comment-tagstays even with both surfaces off, which looks contradictory and is not: the tag alsonames the uploaded bundle (
tirith-bundle-<sha>-post-apply.tar.gz), and the default would overwrite theone the gate uploaded a minute earlier.
continue-on-errorbecause a publication step must not be able to fail a deploy. The trade is that afailed publish now goes unnoticed on the PR — visible only as the missing
Published the state documentline in the log.Neither step is conditional. On a pull request the apply is skipped, so this publishes the state as it
stands right now; on a push to
mainit publishes what was just applied.This is also the one chapter that only works with credentials: uploading state to the platform is not
something local mode does at all.
Chapter 5 of 5. Based on #19 · Last chapter. Start at #16.