Name the floor jobs after the packaging file, so a floor bump cannot delete a requirement - #368
Open
iderex wants to merge 1 commit into
Open
Name the floor jobs after the packaging file, so a floor bump cannot delete a requirement#368iderex wants to merge 1 commit into
iderex wants to merge 1 commit into
Conversation
…delete a requirement `floor 10.11.0.0` and `floor 12.0.0.0` are the last two contexts of the fifteen `docs/quality-parity.md` declares that are not required, and the reason is the name rather than the job. A ruleset holds a required context as a string and GitHub compares it to the name a check run reports, with nothing reconciling the two, so a job whose name is built out of a matrix value stops existing under that string the moment the value moves. Raising a floor here is editing one number in one packaging file. The day somebody does that with these contexts required, every pull request hangs pending on a name nothing produces, with no red check to point at, and the gate reads as satisfied while being absent - the same failure this page already declines `Scorecard analysis` for, from a third direction. The matrix now carries the packaging file into the job name. A file is what identifies a line on this board, adding a line is adding a file, and raising a floor does not rename one. Which floor each job actually built against is printed in the run by a step of its own, so the number the name gave up is still in front of a reader. `docs/quality-parity.md` declares the two new names, says why they changed, and records that `package 10.11.0.0`, `package 12.0.0.0` and `package-lines` carry a version for the same reason and want the same repair the day they are wanted in the set. Part of #30. Signed-off-by: Nils Lehnen <30603423+iderex@users.noreply.github.com>
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.
Part of #30, and it is the piece the answer of 31.08. on that issue named: give the floor job a stable name that carries no version, report the floor it built against in the step output instead, and the two floor contexts join the required set.
What was wrong with the name
A required context is a string the ruleset holds, and GitHub compares it to the name a check run reports with nothing reconciling the two.
floor ${{ matrix.abi }}builds that string out of a matrix value, and raising a floor on this board is editing one number in one packaging file:So with
floor 10.11.0.0required, the first floor bump removes a requirement instead of renaming one: every pull request hangs pending on a name nothing produces, there is no red check to point at, and the gate reads as satisfied while being absent. That is the failuredocs/quality-parity.mdalready declinesScorecard analysisfor, arriving from a third direction, and it is why these two were the last two of the fifteen left out of the set on 31.08. when the other four went in.What the name is now
The packaging file, which is what identifies a line here - adding a line is adding a file, and raising a floor edits a number inside one. The two contexts become
floor build.yamlandfloor build-jf12.yaml.Two names rather than one, and that is deliberate. The jobs are a matrix over the packaging files, so one shared name would report two check runs under one string, which is two things a ruleset cannot tell apart - the trap
package.yamlnames at its ownpackage-linesjob. The alternative shape is a single gate job thatneeds:the matrix and carries the only required name, which is what the sibling board's oneABI floor buildcontext is. I did not take it, because it adds a job and a context to answer a naming problem, and because this change is meant to be the small one the answer described. Say so on the issue if the aggregated shape is wanted instead; it is a short follow-up rather than a rework.What the name gave up is printed instead
A step of its own, so a reader of the run gets the number the name no longer carries:
It runs on every head, including a documentation head where the build itself does nothing.
The page
docs/quality-parity.mddeclares the two new names in the set to require, says why they changed, and records the neighbouring case:package 10.11.0.0,package 12.0.0.0andpackage-linescarry a version for the same reason, are not in the set, and want the same repair the day they are.The historical pastes on that page are untouched. Every one of them is a command's output at a named commit,
55f1ad2,36eccab,1a18979and the rest, and those still reproduce there; editing them would be rewriting a measurement to match today.What was run
Those fifteen are the legs that read these documents, including the one that refuses a workflow file with no row on the parity page. This change adds no workflow file.
The means
A change to a workflow file and a document, which is the means both halves already are. Nothing new is added to the tree: no language, no runtime, no dependency, and no script.
What this does not do, and it is the half that matters
It requires nothing. A ruleset is a repository setting rather than a file in this tree, so the two contexts are still declared and not live after this merges. What it removes is the reason they were held back. #30's second condition needs the edit that adds
floor build.yamlandfloor build-jf12.yamlto the required set onmaster, and that is yours.The new names are read off this head rather than off the workflow file, which is the page's own rule for a name that goes into the set. Corrected after opening this pull request, where this paragraph said they had not been observed on a run:
So the two strings
docs/quality-parity.mdnow declares are the two a check run reports here, and both are green.Nobody else has read this. No second reader was available tonight.