Hi all,
I'm trying to understand how we build a new Squeak trunk image. AFAIK, a Jenkins projects [1] runs squeak-ci [2] to build a new image, but I'm not sure I have figured everything out that happens during the build process. I guess squeak-ci opens an older Squeak image, updates it using the MCMcmUpdater and then saves the new version. Or is there anything else that I am missing? Best, Fabio |
Hi Fabio,
after may latest refactorings to the ReleaseBuilder, let me point you to ReleaseBuilder >> #prepareNextVersionAlpha. Basically, you are right. You just have to update the previous trunk. If you made more changes, you might want to restore preferences and reset caches. Best, Marcel |
In reply to this post by fniephaus
Hi Fabio,
Here is how Eliot does it: [[[MCMcmUpdater defaultUpdateURL: 'http://source.squeak.org/trunk'; updateFromServer] valueSupplyingAnswer: true] on: Deprecation do: [:ex| ex resume: nil]] on: Warning do: [:ex| | text | text := ex messageText. ((text beginsWith: 'This package depends on the following classes') or: [text beginsWith: 'About to serialize an empty diffy version.']) ifFalse: [ex pass]. ex resume]. Smalltalk snapshot: true andQuit: true See: http://www.squeakvm.org/svn/squeak/branches/Cog/image/UpdateSqueakTrunkImage.st http://www.mirandabanda.org/cogblog/build-image/ Cheers, Bernhard > Am 17.05.2016 um 10:03 schrieb Fabio Niephaus <[hidden email]>: > > Hi all, > > I'm trying to understand how we build a new Squeak trunk image. > AFAIK, a Jenkins projects [1] runs squeak-ci [2] to build a new image, but I'm not sure I have > figured everything out that happens during the build process. > I guess squeak-ci opens an older Squeak image, updates it using the MCMcmUpdater and then > saves the new version. Or is there anything else that I am missing? > > Best, > Fabio > > [1] http://build.squeak.org/job/Trunk/ > [2] https://github.com/squeak-smalltalk/squeak-ci |
In reply to this post by fniephaus
On 17 May 2016 at 01:03, Fabio Niephaus <[hidden email]> wrote:
That is the essential part of the process. The devil's in the details. If you look at https://github.com/squeak-smalltalk/squeak-ci/blob/master/update-image.st you'll see the script squeak-ci uses to update the image. Most of that file is nonsense like doing sensible things when you're offline, or handling the vagaries of changed protocols in MCMcmUpdater and various other things. And dumping out enormous amounts of debugging information. frank |
On 18 May 2016 at 13:46, Frank Shearar <[hidden email]> wrote:
I should add that you _should_ need to just run "rake update_base_image" to have the process generate a fresh image. If that doesn't work, and you have followed the instructions on the README, please feel free to yell at the maintainers through a bug report. frank
|
On Wed, May 18, 2016 at 10:49 PM Frank Shearar <[hidden email]> wrote:
Thanks for the pointers. I think I understand the process now! Fabio |
Free forum by Nabble | Edit this page |