Repository navigation
test(ci): run missing-release error checks without network - #31
Merged
Maxerns merged 1 commit intoSep 13, 2026
Merged
Conversation
Replace the live GitHub request in the reject-missing-release job with test-local doubles: a fake curl that logs each requested URL and replays curl's 404 shape (nonzero exit status, 404 status output) on Linux, and an Invoke-WebRequest function that throws an exception whose Response.StatusCode is 404 on Windows. Both platforms still assert the exact 'release asset not found' error for the expected archive URL, and now also verify the installer stops after the first missing asset, creates no installed binary, and leaves GITHUB_PATH and GITHUB_OUTPUT unchanged. Fixes getsotto#27 Signed-off-by: Louis Deconinck <louis.dck@gmail.com>
Maxerns
approved these changes
Sep 13, 2026
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.
Fixes #27
What
The
reject-missing-releasechecks now run hermetically. POSIX leg: a fakecurlfirst in PATH logs each requested URL, prints404, and exits 22 — assertions verify the exacterror: release asset not found: <archive URL>line, exactly one request, no install dir, untouched sentinels. Windows leg: a step-scopeInvoke-WebRequestthrows aHttpResponseExceptionwrapping a real 404HttpResponseMessage— the shapeinstall.ps1'sDownloadcatch inspects — with the same assertions.Testing
Both
run:blocks were extracted and executed verbatim: the bash step passes on Linux, and the pwsh step passes under PowerShell 7.4.6 with acosignshim (the exception type, parameter binding, andStatusCodecheck all verified). YAML parses cleanly. No production installer changes.