Metacello / metacello

Metacello is a package management system for Smalltalk
MIT License
87 stars 43 forks source link

- Introduce 1.0-beta.32.3 for bootstrap. #450

Closed krono closed 7 years ago

krono commented 7 years ago

(avoids loading WebClient/SqueakSSL in images where those are to be expected) -pick up private tfel.800 1.0-beta.32.2 which was patrly backported to 1.0-beta.32.1.

Part I to fix #438

krono commented 7 years ago

Note: the MCZ for the bootstrap is ready to be put on http://seaside.gemtalksystems.com/ss/metacello

krono commented 7 years ago

@fniephaus @dalehenrich I don't understand this Travis Error, do you have a clue?

fniephaus commented 7 years ago

User defined error, 'Cannot resolve symbolic version #''release1'''

See here.

Does that help? Looks like your config/baseline is bogus...

krono commented 7 years ago

Ok, the configuration branch is still configured to use builderCI, so I have not clue at all what's going on here…

dalehenrich commented 7 years ago

Upon further review it looks it is probably an issue with ConfigurationOfGrease

dalehenrich commented 7 years ago

Okay I think I understand what is wrong with the ConfigurationOfGrease ... from the transcript:

--transcript--'Fetched -> ConfigurationOfGrease-JohanBrichau.343 --- http://www.smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main --- http://www.smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main'

ConfigurationOfGrease-JohanBrichau.343 is loaded and a peak at the #release1: method (where the release1 symbolic version is being defined) in that version:

release1: aSpec
    <symbolicVersion:#'release1'>
    aSpec for: #(#'pharo3.x' #'pharo4.x' #'pharo5.x' #'pharo6.x' #'squeak5.x' #'gs3.x') version: #'release1.3'.
    aSpec for: #(#'pharo1.x' #'pharo2.x' #'squeak4.x' #'gs2.x') version: #'release1.2'

Shows that #for:version: is being used and it is very likely that the older version of Metacello being used at this point in the bootstrap does not support #for:version: ...

So it might take some work from @jbrichau to address this particular problem ...

jbrichau commented 7 years ago

The reference repository for Grease is now https://github.com/SeasideSt/Grease (which does not have symbolic versions anymore) but I suppose that would not help advance the problem either?

Can you please tell me a bit more on what work is needed?

dalehenrich commented 7 years ago

We're getting a failure during the bootstrapping of Metacello into images that do not have a version of metacello/filetree installed that understands how to access github repos ... so the code is bootstrapping that particular capability via mcz packages ... ConfigurationOfGrease-JohanBrichau.343 is begin picked up during the build and the #release1: method looks like the following:

release1: aSpec
    <symbolicVersion:#'release1'>
    aSpec for: #(#'pharo3.x' #'pharo4.x' #'pharo5.x' #'pharo6.x' #'squeak5.x' #'gs3.x') version: #'release1.3'.
    aSpec for: #(#'pharo1.x' #'pharo2.x' #'squeak4.x' #'gs2.x') version: #'release1.2'

and I think that #for:version: is not properly supported by the earlier versions of Metacello and this is the reason we are failing during the bootstrap ...

So I think that pushing a new version of ConfigurationOfGrease to http://www.smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main that explicitly maps the symbolic versions for each platform will allow us to get past this particular problem ...

Thanks man! ...

Missed you at ESUG this year ...

jbrichau commented 7 years ago

You mean that #for:version: is supported but not with the symbol list argument?

I can write full Smalltalk code in that method right? So doing an iteration should be easy to do. Or does it need to be a separate statement for each platform? (can do as well, but hey... you know :)

dalehenrich commented 7 years ago

On 09/18/2017 11:08 AM, Johan Brichau wrote:

You mean that |#for:version:| is supported but not with the symbol list argument?

Yes, I'm guessing that list argument is the problem ... th

I can write full Smalltalk code in that method right? So doing an iteration should be easy to do. Or does it need to be a separate statement for each platform? (can do as well, but hey... you know :)

I think that it's bes to do a single statement per platform and stay away from writing pure Smalltalk:) Hopefully this will be the last time you have to touch the ConfigurationOfGrease:)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Metacello/metacello/pull/450#issuecomment-330308550, or mute the thread https://github.com/notifications/unsubscribe-auth/AAmFT3_kBFmnqEVOLzIqDrxfqphLTbmiks5sjrGQgaJpZM4PXiha.

jbrichau commented 7 years ago

If this is what is needed:

Name: ConfigurationOfGrease-JohanBrichau.344
Author: JohanBrichau
Time: 18 September 2017, 8:41:55.29852 pm
UUID: 99cf72d5-dc15-0d00-aa59-a363093fdeba
Ancestors: ConfigurationOfGrease-JohanBrichau.343

Change implementation of symbolic version methods to support loading with an older Metacello version (see discussion in https://github.com/Metacello/metacello/pull/450 )
krono commented 7 years ago

On 18.09.2017, at 20:08, Johan Brichau notifications@github.com wrote:

You mean that #for:version: is supported but not with the symbol list argument?

I can write full Smalltalk code in that method right? So doing an iteration should be easy to do. Or does it need to be a separate statement for each platform? (can do as well, but hey... you know :)

Please let it not be that, because a list of platform symbols is actually what I introduced Into the bootstrap.

What is really strange is, that it worked for me. I explicitely only changed squeak-specific stuff and there's no trace of Grease in there.

That's really strange…

Best regards -Tobias

dalehenrich commented 7 years ago

well this test was failing for all platforms, but I only looked in GemStone ... so what is more likely is that there are a number of failure mechanisms ... we haven't gone through this change of bootstrap for 2 years (right?) ... so there is a lot of dust to sift through ...

On 09/18/2017 11:57 AM, Tobias Pape wrote:

On 18.09.2017, at 20:08, Johan Brichau notifications@github.com wrote:

You mean that #for:version: is supported but not with the symbol list argument?

I can write full Smalltalk code in that method right? So doing an iteration should be easy to do. Or does it need to be a separate statement for each platform? (can do as well, but hey... you know :)

Please let it not be that, because a list of platform symbols is actually what I introduced Into the bootstrap.

What is really strange is, that it worked for me. I explicitely only changed squeak-specific stuff and there's no trace of Grease in there.

That's really strange…

Best regards -Tobias

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Metacello/metacello/pull/450#issuecomment-330322289, or mute the thread https://github.com/notifications/unsubscribe-auth/AAmFT4yfprfzldg7gbDBUWgjQajELjqpks5sjrz_gaJpZM4PXiha.

krono commented 7 years ago

Ok grabs duster

dalehenrich commented 7 years ago

Thanks Johan ... that looks good ...

On 09/18/2017 11:45 AM, Johan Brichau wrote:

If this is what is needed:

|Name: ConfigurationOfGrease-JohanBrichau.344 Author: JohanBrichau Time: 18 September 2017, 8:41:55.29852 pm UUID: 99cf72d5-dc15-0d00-aa59-a363093fdeba Ancestors: ConfigurationOfGrease-JohanBrichau.343 Change implementation of symbolic version methods to support loading with an older Metacello version (see discussion in https://github.com/Metacello/metacello/pull/450 ) |

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Metacello/metacello/pull/450#issuecomment-330318265, or mute the thread https://github.com/notifications/unsubscribe-auth/AAmFT4Y4J3EkTYMoMMapd9PWh_WmiTO1ks5sjrosgaJpZM4PXiha.

krono commented 7 years ago

I restarted the build, let's see whether it helped…

krono commented 7 years ago

nope…

krono commented 7 years ago

One more thing: in the travisCI.st and the travisPreviewCI.st, it still refers to the old (?) repo name directly: https://github.com/Metacello/metacello/blob/configuration/tests/travisCI.st#L7, https://github.com/Metacello/metacello/blob/configuration/tests/previewBootstrap.st#L10, and https://github.com/Metacello/metacello/blob/configuration/tests/travisPreviewCI.st#L18 maybe that's putting things off?

dalehenrich commented 7 years ago

This is the part where we sift through the dust ... now we are past the ConfigurationOfGrease error (thanks @jbrichau) and into other issues ...

krono commented 7 years ago

Ok, this looks waay better

dalehenrich commented 7 years ago

Next step is to in-place edit the references to http://seaside.gemstone.com/ss/metacello and replace them with http://seaside.gemtalksystems.com/ss/metacello ... for all gemstone.com repos...

StephanEggermont commented 7 years ago

In Pharo 6.1, 343 works and 344 is broken

StephanEggermont commented 7 years ago

Name: ConfigurationOfGrease-StephanEggermont.345 Author: StephanEggermont Time: 19 September 2017, 10:12:10.051757 am UUID: b1131d27-e815-0d00-806a-08640829081c Ancestors: ConfigurationOfGrease-JohanBrichau.344

Symbols instead of strings

dalehenrich commented 7 years ago

looks like the right fix, but re-running tests to be sure ...

jbrichau commented 7 years ago

Yes, these are Slime tests that started failing some weeks ago without changes in Grease itself. So, I propose to ignore them here.

On 18 Sep 2017, at 22:37, Dale Henrichs notifications@github.com wrote:

This is the part where we sift through the dust ... now we are past the ConfigurationOfGrease error (thanks @jbrichau) and into other issues ...

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

dalehenrich commented 7 years ago

Sorry guys, I inadvertently merged this PR because this comment was in the wrong PR ... I thought I was in the Grease project...

Anyway, I reverted this PR so I think that @krono needs to submit a new PR ... to get us back on track

jbrichau commented 7 years ago

@dalehenrich sorry about that. I don't understand how my reply used that message. I replied on my phone and was pretty sure I replied to the right thread.... :(

dalehenrich commented 7 years ago

no problem, I should have looked a bit closer at the pr before pressing the merge button ... now I know that I have to be more careful ...

dalehenrich commented 7 years ago

@krono, it looks like you will have to re-merge the configuration branch into your config_dev branch before you can resubmit your pr ... in retrospect I should have undone the commit, since revert did not do what I expected it to do ... oh well ... live an learn ...

dalehenrich commented 7 years ago

@krono, it may be necessary to reapply your changes given the way that revert works ... if that is too difficult, perhaps we'll just nuke these last merge and revert commits on the configuration branch ... the configuration branch is pretty specialized so I don't think it will impact anyone else ...

krono commented 7 years ago

Ok, will do.

Just one more thing: Although we have a multitude of tests, quite some of them seem a bit wonky. For example, take the Squeak-4.5 results (30 failures), OTHO, locally, I get no failures and one error:

bildschirmfoto 2017-09-19 um 23 56 08

What do?

krono commented 7 years ago

(also, that error went away after re-running…)

krono commented 7 years ago
bildschirmfoto 2017-09-19 um 23 59 22
dalehenrich commented 7 years ago

I assume that you are talking about the tests for the configuration branch? This branch represents an intermediate step for the bootstrapping of the latest version of Metacello on github and the tests and implementation dates from several years ago ... all of the wonky tests should have been cleaned up in the latest version of Metacello. Eventually, the bootstrapping code will not be necessary (I hope).