Name the flake job, and pin the probe guard's boundary - #24
Merged
Conversation
ci.yml and flake.yml both called their job build, so a pull request that runs both showed two checks with the same name and no way to tell which had failed. The three jobs are release, build and flake now.
The review of the last cycle found that nothing held the widened condition on account delete's probe. Reverting it to the 401 it replaced left the whole package green, because every test answered the probe with 200 or 401 and both take the same branch either way. The cycle's own commit message said every new guard had been checked against the mutation that breaks it, which was true only of the coarse mutation that deletes the guard outright. The two standalone probe tests become one table over 401, 503 and 426, so a refusal of any kind stops the delete, suppresses the question and relays the server's own sentence. Checked against three mutations: narrowing the condition back to 401, removing it, and pointing the probe back at the health check the server does not authenticate.
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 job rename you asked for, plus the two findings the adversarial review of #23 confirmed. It found four, of which three were the same documentation defect filed by three lenses.
The rename
ci.ymlandflake.ymlboth called their jobbuild, so #23 showed two checks with the same name and no way to tell which had failed. The three jobs arerelease,buildandflakenow.The probe guard
The review found that nothing held the widened condition on
account delete's probe. Reverting!= http.StatusOKto the== http.StatusUnauthorizedit replaced left the whole package green, because every test answered the probe with 200 or 401 and both take the same branch either way.I verified that myself before acting on it, and it is right. #23's commit message said every new guard had been checked against the mutation that breaks it. That was true only of the coarse mutation which deletes the guard outright; the boundary survived. The claim was stronger than the check behind it.
The two standalone probe tests become one table over 401, 503 and 426, so a refusal of any kind stops the delete, suppresses the question, and relays the server's own sentence. The 503 case is reachable against the real server:
superstack-server/internal/api/auth.go:52answers 503 when the login lookup fails, and/fleetsis not on the exemption list.Evidence
gofmt -l .clean,go mod tidyleaves the module files unchanged,go vet ./...clean,go test -count=1 ./...all packages pass.actionlintpasses on the renamed workflow.Two of my own mutation runs during this work reported results from a setup that had silently failed, once because a copy omitted an untracked file and once because an anchor was not unique. Both were discarded and re-run rather than reported.
No version change. Paired with a documentation change in
superstack-server.