Repository navigation
ci: a runner that refuses unshare fails build-and-test and the JACK2 job, and a guard holds it (#107) - #118
Merged
Merged
Conversation
…job, and a guard holds it (#107) The else branch taken when the runner refuses a private user and pid namespace printed a warning and, in the build-and-test job, ran make sabotage without the LV2 guard, so a run that skipped the JACK and LV2 scenarios went green. Both else branches now print an error and exit 1. tests/ci_guards.py reads every workflow and requires an else that exits 1 after each if unshare, proving first that it sees a planted warn-only else and a planted missing else; make test runs it as check-ci-guards, and make sabotage breaks one branch back to a warning and is caught.
Contributor
Author
|
Sabotage rerun on the desk with the JACK fixtures built ( |
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.
In
.github/workflows/ci.ymlthe else branch taken when the runner refusesunshareprinted a::warningand, in build-and-test, ranmake sabotagewithout the LV2 guard, so the comment "a run that skipped them fails here" held for the then-branch only: a run that skipped the JACK and LV2 scenarios went green. The JACK2 job had the same shape.::errorandexit 1.tests/ci_guards.pyreads every workflow: after eachif unshare ...; thenthere is an else, and it exits 1. It first proves it sees a planted warn-only else and a planted missing else, and passes a planted one that exits 1; then it scans the tree. Red on main as it stood (lines 96 and 160), green here.make testruns it ascheck-ci-guards(172 ok on the desk).make sabotagegains "a runner that refuses unshare passes build-and-test with a warning" (one branch back to a warning), with aciguardskind that copies the workflows into the scratch tree, and it is caught:ok sabotage caught: a runner that refuses unshare passes build-and-test with a warning -> every if unshare in the workflows fails redThe full run on the desk with the worker environment: 181 caught, the one survivor is sabotage: "a nice the daemon could not apply is not logged" survives where the nice applies #116 (the unapplied nice, pre-existing on main). Six JACK controls did not run in that pass because the JACK fixtures were not built in the lane yet; the rerun with them built is in the first comment.
The then-branch is what CI's runners take today, so this job and the JACK2 job must stay green here: that is the round trip for a change whose only effect is on a runner that cannot run the scenarios.
Codes: none added, none removed.
Closes #107