SmalltalkCI class>>saveAndQuitImage currently broken in Pharo-11.0.0+build.725
Closed this issue · 13 comments
self platformClass saveImage
is not returning a boolean so this method fails:
saveAndQuitImage
self platformClass saveImage
"Close image only if it is not resuming."
ifFalse: [ self platformClass quitImage ]
Pharo-11.0.0+build.725
I had a lot of succesful builds in Pharo 11 for several projects so I wonder why it broke now if it was previously working. What moved? Aren't versions used for this pinned?
Confirming this: Both P11, P12 are affected. https://github.com/exercism/pharo-smalltalk/actions/runs/7906008750?pr=609
What kind of object is it returning? For Pharo, smalltalkCI simply calls:
Cool, so P11 and P12 again broke public API used by smalltalkCI. We need need a new saveImage
impl for them in a compatibility package. Anyone wants to open a PR for this?
@fniephaus sounds good like this? #632
@sebastianconcept smalltalkCI always has compatibility packages for Pharo, see SmalltalkCI-Pharo-Core.package which, for example, includes SmalltalkCIPharo11
. They inherit from each other, so adding an override via SmalltalkCIPharo11>>#saveImage
might do the trick.
Do you know, SmalltalkCIPharo>>#saveImage return boolean originally stands for (meaning)?
@labordep yes, I can confirm you that's the same I've saw in mine.
I've removed Pharo 11 from my CI until this issue is resolved.
Thanks @sebastianconcept,
I have this error on Pharo12 CI too ><
For Pharo 12:
NonBooleanReceiver: proceed for truth.
SnapshotOperation(ProtoObject)>>mustBeBooleanIn:
SnapshotOperation(ProtoObject)>>mustBeBoolean
SmalltalkCI class>>saveAndQuitImage
UndefinedObject>>DoIt
OCReceiverDoItSemanticScope(OCDoItSemanticScope)>>evaluateDoIt:
OpalCompiler>>evaluate
OpalCompiler>>evaluate:
[
result := Smalltalk compiler evaluate: aStream.
self hasSessionChanged
ifFalse: [
self stdout
print: result;
lf ] ] in EvaluateCommandLineHandler>>evaluate: in Block: [...
FullBlockClosure(BlockClosure)>>on:do:
EvaluateCommandLineHandler>>evaluate:
EvaluateCommandLineHandler>>evaluateArguments
EvaluateCommandLineHandler>>activate
EvaluateCommandLineHandler class(CommandLineHandler class)>>activateWith:
[ aCommandLinehandler activateWith: commandLine ] in PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand: in Block: [ aCommandLinehandler activateWith: commandLine ]
FullBlockClosure(BlockClosure)>>on:do:
PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand:
PharoCommandLineHandler(BasicCommandLineHandler)>>handleSubcommand
PharoCommandLineHandler(BasicCommandLineHandler)>>handleArgument:
[ self handleArgument: self firstArgument ] in [ [ self handleArgument: self firstArgument ]
on: Exit
do: [ :exit |
"If the command line is protected by password, we just exit the image because in non-headless mode the handleExit will let the image open. If the password protection is enabled, it is to avoid to let the access to the image."
self class commandLinePasswordManager hasPasswordSet
ifTrue: [ Smalltalk snapshot: false andQuit: true ].
self handleExit: exit ] ] in PharoCommandLineHandler(BasicCommandLineHandler)>>activate in Block: [ self handleArgument: self firstArgument ]
FullBlockClosure(BlockClosure)>>on:do:
[ [ self handleArgument: self firstArgument ]
on: Exit
do: [ :exit |
"If the command line is protected by password, we just exit the image because in non-headless mode the handleExit will let the image open. If the password protection is enabled, it is to avoid to let the access to the image."
self class commandLinePasswordManager hasPasswordSet
ifTrue: [ Smalltalk snapshot: false andQuit: true ].
self handleExit: exit ] ] in PharoCommandLineHandler(BasicCommandLineHandler)>>activate in Block: [ [ self handleArgument: self firstArgument ]...
[self value.
"IMPORTANT: Do not step over next line of code. See method comments for details"
Processor terminateRealActive] in FullBlockClosure(BlockClosure)>>newProcess in Block: [self value....
Error with status code 1:
692 run_script /home/runner/.smalltalkCI/helpers.sh
Error: Process completed with exit code 1.
@fniephaus sounds good, thanks for elaborating. Do we have a PR for it, should I try to help with one?