Repository navigation
Do not record ignored build failures as successful - #4944
Open
Aschenbath wants to merge 1 commit into
Open
Aschenbath wants to merge 1 commit into
Aschenbath wants to merge 1 commit into
Conversation
Assisted-by: OpenAI Codex Signed-off-by: Nash Aschenbath <wwh86696@163.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.
After a builder writes partial output and returns an error,
scons -icurrently records that output as successfully built. The next invocation reports it as up to date; with--cache-force, the failed output also enters the shared cache.Finish ignored failures using the Taskmaster path that updates scheduling state without calling the successful-build callbacks. Dependent tasks and shared side effects can continue, while the failed action does not save a successful signature or force its output into CacheDir.
The new end-to-end regression runs repeated real builds with
-i,--ignore-errors --cache-force, and-i -j 2 --cache-force. It checks retries with outputs present and removed, multiple outputs, dependent and independent tasks, successful cache reuse, and failure after a previously successful build. The manual and release notes describe the behavior. Partial files are retained; this does not add the delete-on-error feature discussed in #4747.Validation on Windows / Python 3.12.12:
bin/docs-update-generated.py. Generated files are excluded from the change as requested by the repository guide.git diff --checkpasses. Existing diagnostics are unchanged from an independent baseline checkout: 54 Ruff findings inMain.py, and 1,353 mypy errors across the repository.Contributor checklist:
CHANGES.txtandRELEASE.txt; readREADME.rst.Developed and tested with substantial AI assistance (OpenAI Codex), disclosed in the commit trailer as well.
Fixes #1332.