Repository navigation
Keep the local CI harness, and document it - #11
Merged
Merged
Conversation
run-step.py moves out of scratch and into .github/scripts/. It reads the workflow and runs a step's run: block verbatim under bash -e, the way GitHub does, so a step can be checked before a six-minute round trip. Verbatim is the point: every CI failure here came from checking a hand-typed variant rather than the step itself. The README section, in both languages, says what it cannot do -- steps are not independent, and the HTTPS and DNS ones need sudo to pass locally -- rather than implying full coverage. Also notes task 41: the two READMEs match at ## level but their ### subsections have drifted apart.
It was task 41 on its own, but it is work for the README pass, not a separate job. Task 35 now carries it, along with a note that task 38 removed the last docker compose exception that pass had to write around.
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.
Four CI failures this week were not in the code but in the step: a flag passed locally and not in CI, a value an earlier step was supposed to set, a pipeline that behaves differently under
pipefail. Running the fifth one locally caught a real bug instead — nginx and apache racing for port 80, which a mockeddockerhad hidden.So the harness stops being a scratch file.
It reads
.github/workflows/ci.ymland runs the step'srun:block verbatim underbash -e, exactly as GitHub does. Verbatim is the whole point — retyping the step is where the errors came from.What the README says it cannot do
Rather than implying full local coverage:
curlwithout-kon purpose, so they need the CA in the system trust store; the DNS ones rewrite the system resolver. Both need sudo, and the README says which command to run if you want them anyway.Written into both READMEs.
Also
run-step.pyjoinsdrive-install.pyin the compile check.Noticed while writing into both READMEs: they match at
##level but their###subsections have drifted — English has Starting and Stopping, Development Workflow and Common Issues; Spanish has Xdebug. Folded into task 35, which rewrites the READMEs anyway, rather than standing as its own task.