Hi all, To keep the common projects in smalltalkhub stable, we agreed that those should use symbolic versions like release3 // release3.5 etc. This way we can add bug fixes and avoiding loading of different versions through different projects. But I might have done something stupid to the configuration of magritte, especially release3: When I added some features to Magritte, I saw that that the stable version in the configuration of Magritte3 was unstable for pharo2, 3 and 4 for quite some time. Basically the tests failed, because some changes were made for pharo 5 in order to let Magritte version 3.5 run. Since I did not have time to make a proper fix (and the error was there for quite a lot of builds) for the older pharo versions and I believe the tests for the stable version ought to be green, I thought the best way to fix it, was to changed the #release3 magritte version back to release 3.2 for the older pharo versions. Perhaps this is the cause of some of the problems. Tomorrow I have time to look into this problem and make a proper fix. Stephane already notified me this is at least a problem for Pillar ⦠Regards, Diego
On 07 Jun 2017, at 20:01, Dale Henrichs <dale.henrichs@gemtalksystems.com> wrote:
On 06/07/2017 03:46 AM, Holger Freyther wrote:
On 7. Jun 2017, at 14:09, Stephan Eggermont <stephan@stack.nl> wrote:
Never refer to fixed versions unless you know why (you need to avoid a specific bug fix). When wanting to have repeatable builds (e.g. for bugfixes) and in the absence of other means to lock/define versions externally, I think using a fixed version is the way to go.
What is most likely is that there is some overconstrained configuration. Does your ConfigurationOfVoyageMongo or one of the configurations it pulls in refer to different versions of grease or magritte? Another issue can be that there are older configurations already loaded that conflict with the newest ones. Indeed, the ConfigurationOfMongoTalk is broken, refering to a fixed and older version of Grease. ConfigurationOfVoyageMongo should probably be using #'release3' of Magritte, but that doesn't break it. Right. So we have a "OsmocomUniverse" build job that pulls in all the apps into a single image. This helps to make API modifications and not forget any of the client code.
The configuration has such dependencies:
ConfigurationOfOsmocomUniverse -> ConfigurationOfHLR -> ConfigurationOfVoyageMongo -> Mongotalk -> Grease A -> Magritte3 -> Grease B -> ConfigurationOfSMPPRouter -> ConfigurationOfVoyageMongo -> Mongotalk -> Grease A -> Magritte3 -> Grease B
What happens is that somehow "Grease A" gets loaded, then "Grease B" and when it is time for "Grease A" again.. the system kind of explodes and this is for Pharo3 and Pharo6. Now the question to me is.. why is this coming up right now? Did MongoTalk change or Magritte3 or something else?
Is there an easy way for Metacello to try a mirror instead of the original, e.g. to inject an older ConfigurationOfMagritte3?
I think that the `lock` command[1] is what you are looking for ...
Dale
[1] https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloUser... <https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloUser...>