-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Something wrong with NUT fightwarn #24
Comments
Testing a theory that either we did pass |
At least, the message is directly related to the library:
No hits in NUT for the log message, and got shell envvar expansions of |
….MAKE defined even if there are *other* tools [networkupstools#24] Signed-off-by: Jim Klimov <[email protected]>
One idea that belongs here (testing now) is that originally we initialized a default |
Still at it :( Perhaps the map is not always consulted (or dedicated instance/clone passed?) when expanding the buildPhases at run-time?.. Or is deleted at a later time from the pipeline preparation logic?.. |
…all cases [networkupstools/jenkins-dynamatrix#24] Signed-off-by: Jim Klimov <[email protected]>
After some attempts to rectify, in essence, the symptoms (e.g. fit a Groovy allows to manipulate original map contents directly (input variable names are references to those maps), so to isolate what happens in the method while keeping an original intact, a clone is made early on, and that clone is returned from the method for caller to assign wherever they want. Nothing can go wrong, and caller's data objects are safe, right?.. In practice, with the closures using a delegation mechanism (to resolve variables from caller context), we end up setting In other words, success of the groovy script currently relied on all data ending up in the Jenkinsfile's singleton of the map. Reverting with 496500d the The "correct" solution would be however to ensure that the build matrix cells get their separate copies of the With current implementation and new knowledge, this seems complicated by a few points:
|
In |
Not seen in other builds, but with the last "properly" behaving NUT fightwarn build being https://ci.networkupstools.org/job/nut/job/nut/job/fightwarn/73/ in July 2023, the subsequent https://ci.networkupstools.org/job/nut/job/nut/job/fightwarn/74/ (and https://ci.networkupstools.org/job/nut/job/nut/job/fightwarn/75/ soon after) in September fail due to what seems to be not-resolving the
MAKE
variable in many build scenarios - on the same build hosts as the master/PR builds use, and this happens not in all parallel branches, e.g.:or
in https://ci.networkupstools.org/job/nut/job/nut/job/fightwarn/75//artifact/.ci.MD5_f7bc8232f878d178067df0490d730b71.build.log.gz:
https://ci.networkupstools.org/job/nut/job/nut/job/fightwarn/75//artifact/.ci.MD5_f7bc8232f878d178067df0490d730b71.configureEnvvars.log.gz:
Notably no
MAKE=...
is provided here, so a fallback tomake
should have happened. Maybe this is linked with the recent effort to untangle parallel closure creations (usingdef
and clones everywhere, to avoid changing of same values from different logic branches as was seen earlier with mix-ups of stage name groovy strings vs. contents of envvars passed to them; possibly some move from GStrings to be resolved immediately as Strings was not completed?..)So far nothing apparently toxic was found in NUT
Jenkinsfile-dynamatrix
(norci_build.sh
) changes between these builds.Numbers were roughly equal:
Not all went well: countStagesStarted:350 countStagesCompleted:350 countStagesFinishedOK:250 countStagesFinishedFailure:100
Not all went well: countStagesStarted:350 countStagesCompleted:350 countStagesFinishedOK:251 countStagesFinishedFailure:99
The text was updated successfully, but these errors were encountered: