Details
-
Bug
-
Resolution: Invalid
-
Not Evaluated
-
None
-
None
-
None
Description
It's possible that I just got unlucky.
I staged 2 changes for qtdeclarative via Gerrit, which resulted in following job http://coin/coin/integration/qt/qtdeclarative/tasks/1565182055 where a test failed
I restaged the same 2 changes fairly fast after the failure which resulted in this job
http://coin/coin/integration/qt/qtdeclarative/tasks/1565191908
Except the last job did not reuse the build artifacts for qtdeclarative, even though it should have, because the staged 2 changes were identical to the previous run.
The artifacts for qtbase were reused.
So either there's a bug, or I got unlucky and perhaps the build artifacts got garbage collected in-between the runs.
Liang claims that we never keep the build artifacts for a submodule stage job that failed, that we remove the artifacts immediately if the job failed.
Regardless of GC or if what Liang says is true, it feels like we should have a grace period on removing artifacts so that if a test fails, and we restage, the build artifacts should be re-used rather than rebuilt again.
I believe I saw the "reuse build artifacts" case 1-2 years ago when a QtWebEngine test failed, and restaging the same commits always ended up running just the tests, and not rebuilding QtWebEngine.
I don't know if there's special code to handle this for WebEngine, or if it worked across all repos, or I'm just imagining things.