Skip to content
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

Use empty author in SmalltalkCIPharo13 #656

Merged
merged 12 commits into from
Aug 28, 2024

Conversation

hernanmd
Copy link
Contributor

@hernanmd hernanmd commented Aug 21, 2024

This PR tries to fix #655.
Include a silly test.

@hernanmd
Copy link
Contributor Author

There is a failing job but it seems unrelated: https://github.com/hpi-swa/smalltalkCI/actions/runs/10497340835/job/29079967207?pr=656
@theseion or @fniephaus what do you think?

@theseion
Copy link
Collaborator

The error is due to a missing file. Unfortunately, you can't simply save changes from Pharo, since the format that Pharo writes can break SmalltalkCI for other / older platforms. I usually make the changes, and then manually replicate them with a text editor. It's not great but it ensures that other builds don't break.

@hernanmd
Copy link
Contributor Author

The error is due to a missing file. Unfortunately, you can't simply save changes from Pharo, since the format that Pharo writes can break SmalltalkCI for other / older platforms. I usually make the changes, and then manually replicate them with a text editor. It's not great but it ensures that other builds don't break.

I understand, and I was commenting about the error that belongs to the Pharo32-3.0 image. That error was also present in previous PR builds: https://github.com/hpi-swa/smalltalkCI/pull/652/checks so that is why I wrote it is not related.

What we would like is to have the Pharo CI green again, without the need to re-introduce the Author class. So it is a request for review :)

@theseion
Copy link
Collaborator

Put back the version file to repository/SmalltalkCI-Pharo-Core.package/monticello.meta/version with the following contents:

(name 'SmalltalkCI-Pharo-Core-GOC.1683882129' message 'Fix deprecated messages in Pharo 10/11' id 'b9ca235c-bcb8-0d00-8a02-52740b2d30c2' date '23 May 2023' time '8:23:56.450782 am' author 'GOC' ancestors ((name 'SmalltalkCI-Pharo-Core-CompatibleUserName.1683882128' message 'Override isHeadless as mentioned in issue #561.
' id '61a4d773-e6dd-5997-b177-27b70e42f224' date '12 May 2023' time '6:02:08 am' author 'CompatibleUserName' ancestors () stepChildren ())) stepChildren ())

Copy link
Collaborator

@theseion theseion left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. If you put back the version file as well, the build should also become green again.

@hernanmd hernanmd requested a review from theseion August 23, 2024 15:48
@theseion
Copy link
Collaborator

repository/SmalltalkCI-Pharo-Tests.package/monticello.meta/version is also missing:

(name 'SmalltalkCI-Pharo-Tests-smalltalkCI.1570035215' message 'Fix testPromptToProceed for non-interactive modes.' id 'eef46095-980e-47b5-bb71-80cd191e2ac5' date '4 September 2020' time '3:26:46.138711 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Pharo-Tests-smalltalkCI.1570035214' message 'Remove testPromptToProceedClosesProgress.
It doesn''t seem necessary in Pharo.' id 'a494f12e-de6a-0d00-bc37-8a3809421138' date '4 September 2020' time '3:00:00.106794 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Pharo-Tests-smalltalkCI.1570035213' message 'Test promptToProceedImpl' id '37f28c1c-de6a-0d00-96df-61a7017a29f1' date '4 September 2020' time '2:54:51.52168 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Pharo-Tests-GOC.1570035212' message 'Adapt the baseline to exclude coverage support in Pharo 3/4' id '44a327a2-6250-0d00-8dbe-a53704c51116' date '3 October 2019' time '9:40:54.762476 am' author 'GOC' ancestors ((name 'SmalltalkCI-Pharo-Tests-CompatibleUserName.1570035211' message 'Fix #441 Use #refersToLiteral: method in Pharo to discover methods including the <ignoreForCoverage> pragma
' id '6a74c47f-9a7c-5c1a-81bf-cb905dbb4a6e' date '2 October 2019' time '1:53:31 pm' author 'CompatibleUserName' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())

@hernanmd
Copy link
Contributor Author

I need to understand how checks are run in this repository. I've sent a small

repository/SmalltalkCI-Pharo-Tests.package/monticello.meta/version is also missing:

(name 'SmalltalkCI-Pharo-Tests-smalltalkCI.1570035215' message 'Fix testPromptToProceed for non-interactive modes.' id 'eef46095-980e-47b5-bb71-80cd191e2ac5' date '4 September 2020' time '3:26:46.138711 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Pharo-Tests-smalltalkCI.1570035214' message 'Remove testPromptToProceedClosesProgress.
It doesn''t seem necessary in Pharo.' id 'a494f12e-de6a-0d00-bc37-8a3809421138' date '4 September 2020' time '3:00:00.106794 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Pharo-Tests-smalltalkCI.1570035213' message 'Test promptToProceedImpl' id '37f28c1c-de6a-0d00-96df-61a7017a29f1' date '4 September 2020' time '2:54:51.52168 pm' author 'smalltalkCI' ancestors ((name 'SmalltalkCI-Pharo-Tests-GOC.1570035212' message 'Adapt the baseline to exclude coverage support in Pharo 3/4' id '44a327a2-6250-0d00-8dbe-a53704c51116' date '3 October 2019' time '9:40:54.762476 am' author 'GOC' ancestors ((name 'SmalltalkCI-Pharo-Tests-CompatibleUserName.1570035211' message 'Fix #441 Use #refersToLiteral: method in Pharo to discover methods including the <ignoreForCoverage> pragma
' id '6a74c47f-9a7c-5c1a-81bf-cb905dbb4a6e' date '2 October 2019' time '1:53:31 pm' author 'CompatibleUserName' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())

@theseion, I've updated the PR, but there is another missing "version" file in one of the builds (again I don't know if this is related since it fails in a Pharo-32 build)

FileDoesNotExist: File @ /home/runner/work/smalltalkCI/smalltalkCI/repository/SmalltalkCI-Core.package/monticello.meta/version.

Could you explain a bit what these are or how do you get the content of those?

@theseion
Copy link
Collaborator

Previously, the version file needed to exist in every package. So we need to put back the file for every package that is loaded for older Pharo builds. Probably best to check them out from a previously known good version. For example, c37fbbf457de9b04e870248a9d51e56bdaa66928.

@hernanmd
Copy link
Contributor Author

Previously, the version file needed to exist in every package. So we need to put back the file for every package that is loaded for older Pharo builds. Probably best to check them out from a previously known good version. For example, c37fbbf457de9b04e870248a9d51e56bdaa66928.

Thanks @theseion !
So it could be integrated or it needs additional changes?

@theseion
Copy link
Collaborator

The missing version files were all deleted as part of your PR. You've deleted some in multiple commits of the PR, actually, you've deleted one version file which you had already put back in a previous commit. As I had written above, Pharo version control should not be used to commit changes to this repository, unless you then clean up the commit.

You should check out the version files from master and create a new commit. Once you've pushed that commit, the build should run through.

Hernán Morales Durand added 2 commits August 26, 2024 21:28
@hernanmd hernanmd reopened this Aug 26, 2024
@hernanmd
Copy link
Contributor Author

Thanks Max, it is clearer to me now.

I re-did the PR without using Pharo, only with the relevant changes. There is only one error https://github.com/hpi-swa/smalltalkCI/actions/runs/10566051630/job/29271938542?pr=656

Loading baseline of BaselineOfSmalltalkCI...MessageNotUnderstood: False>>at:ifAbsent:
False(Object)>>doesNotUnderstand: #at:ifAbsent:
MetacelloPharo30Platform(MetacelloPlatform)>>stackCacheFor:cacheClass:at:doing: in Block: [ :dict | ...
MetacelloPharo30Platform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary: in Block: [ ^ aBlock value: dict ]
...

Do you have any hints about this error?

It seems strange the whole CI Pharo builds are "blocked" by a 32-bit 3.0 image failing...

@theseion
Copy link
Collaborator

You're using #at:ifAbsent: in #ignorePackageNotificationClass. That's not portable, unfortunately, because not all implementations of SystemDictionary have that method. You need to use #at: with a nil check.

With a couple of exceptions, any failing test will immediately stop the pipeline. This is to save resources because the pipeline takes so long to run.

@hernanmd hernanmd closed this Aug 27, 2024
@hernanmd hernanmd reopened this Aug 27, 2024
@hernanmd
Copy link
Contributor Author

hernanmd commented Aug 27, 2024

Hi again Max.
There are now two Moose images failing, but they seem to come from a script:

Captura de pantalla 2024-08-27 a las 14 12 14

The error is:

Extracting and preparing Moose64-12 image...
mv: cannot stat '/home/runner/work/smalltalkCI/smalltalkCI/_builds/*.image': No such file or directory

Error with status code 1:
347 pharo::prepare_moose_image /home/runner/work/smalltalkCI/smalltalkCI/pharo/run.sh
Error: Process completed with exit code 1.

Is this related to #657?

@fniephaus
Copy link
Member

maybe the Moose error is related to #657

@theseion
Copy link
Collaborator

The issue with Moose has been fixed.

@theseion theseion merged commit 57dfe32 into hpi-swa:master Aug 28, 2024
81 checks passed
@theseion
Copy link
Collaborator

Thanks @hernanmd!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

KeyNotFound: key #Author not found in SystemEnvironment
3 participants