[squeak-dev] SqueakTrunk image on build.squeak.org broken?

Frank Shearar frank.shearar at gmail.com
Tue Jul 30 17:42:07 UTC 2013


On 30 July 2013 18:13, Chris Cunningham <cunningham.cb at gmail.com> wrote:
> Is there a location to pull from that would keep my image up to date with
> the ReleaseSqueakTrunk version of Squeak?  Or if I update my image, will
> parts start dissappearing?

Updating still works exactly as normal. Nothing will disappear from your image.

SqueakTrunk and ReleaseSqueakTrunk are the names for jobs on the
continuous integration server, build.squeak.org. The update stream
continues entirely unchanged.

> Is the only way to continue to use the ReleaseSqueakTrunk to download
> occasional snapshots and move all the code into it?
>
> Or is the trunk system still working off of the release version, but the
> SqueakTrunk job strips out the unloadable packages as part of its job?  and
> then the ReleaseSqueakTrunk loads them back in?

Yes, but the stripping out part is manual. Well, it's scripted [1],
and when a new package becomes unloadable I add it to the script, run
the script against the "master" artifact for the SqueakTrunk job and
publish it. The SqueakTrunk job then runs a bunch of tests against a
copy of that image. After that, build.squeak.org fires off the
ReleaseSqueakTrunk job. This takes the SqueakTrunk job's output, adds
the packages unloaded in [1] through ReleaseBuilder class >>
#prepareNewBuild (see #loadWellKnownPackages for the inverse of [1]'s
list), and publishes an artifact. Periodically, someone pushes that
artifact to ftp.squeak.org for public consumption. (This step still
needs work.)

> I guess I could figure this our myself, but just in case anyone else is
> wondering, I'll ask.

Sure! Questions are always welcome!

frank

[1] https://github.com/squeak-smalltalk/squeak-ci/blob/master/shrink-trunk.st

> -Chris
>
>
> On Tue, Jul 30, 2013 at 7:13 AM, H. Hirzel <hannes.hirzel at gmail.com> wrote:
>>
>> Thank you Frank for the explanation, I consider it to be a useful
>> metaphor.
>>
>> "rehydrated" image vs. "dehydrated" image
>>
>> --Hannes
>>
>> On 7/28/13, Frank Shearar <frank.shearar at gmail.com> wrote:
>> > It's a term I picked up from work: SqueakTrunk is like a dessicated,
>> > dried out thing that's quite small, like a dessicated pea. But
>> > ReleaseSqueakTrunk is like the rehydrated pea, useful for cooking.
>>
>> "rehydrated" = ReleaseSqueakTrunk
>> http://build.squeak.org/job/ReleaseSqueakTrunk/
>>
>>
>> > As the package layering work proceeds, and more packages become
>> > unloadable, I unload them from SqueakTrunk.
>>
>> "dehydrated"  = SqueakTrunk
>> http://build.squeak.org/job/SqueakTrunk/
>>
>> > ReleaseSqueakTrunk takes
>> > that small SqueakTrunk artifact and reloads all those unloadable
>> > packages.
>>
>>
>>
>> > The idea is that people just keep on using the ReleaseSqueakTrunk
>> > image, and without even realising it, are using a _constructed_ image,
>> > built up from some small core.
>> >
>> > frank
>> >
>> > On 28 July 2013 18:58, H. Hirzel <hannes.hirzel at gmail.com> wrote:
>> >> Question of clarification:
>> >>
>> >> What do you mean by a 'rehydrated image'?
>> >>
>> >> --HH
>> >>
>> >> On 7/28/13, David T. Lewis <lewis at mail.msen.com> wrote:
>> >>> On Sun, Jul 28, 2013 at 08:26:18AM +0100, Frank Shearar wrote:
>> >>>> On 28 July 2013 07:24, David T. Lewis <lewis at mail.msen.com> wrote:
>> >>>> > I noticed that the VM tarball jobs on build.squeak.org
>> >>>> > (InterpreterVM
>> >>>> > and
>> >>>> > CogVM jobs) have been failing for some time. These jobs use the
>> >>>> > latest
>> >>>> > trunk
>> >>>> > image from the SqueakTrunk job, which is supposed to be a base
>> >>>> > Squeak
>> >>>> > image
>> >>>> > updated from the trunk stream (see
>> >>>> > http://build.squeak.org/job/SqueakTrunk/).
>> >>>> > However, that image is missing the ST80 package entirely (which
>> >>>> > indirectly
>> >>>> > causes the VM tarball job failures).
>> >>>> >
>> >>>> > I tried to update the image (world menu -> help... -> update code
>> >>>> > from
>> >>>> > server) in hopes that this would load the missing packages, but
>> >>>> > this
>> >>>> > fails
>> >>>> > due to some other problem.
>> >>>> >
>> >>>> > The project comment for the SqueakTrunk job says:
>> >>>> >
>> >>>> >  * Take a base image (currently 4.5-12565), update it, archive the
>> >>>> > result.
>> >>>> >  * Run the entire suite of in-image tests.
>> >>>> >
>> >>>> > I think that I had mistakenly assumed that the "SqueakTrunk" job
>> >>>> > was
>> >>>> > a
>> >>>> > release
>> >>>> > image updated from the trunk stream, but actually it must be a
>> >>>> > stripped
>> >>>> > "base"
>> >>>> > image with packages reloaded, and maybe the reloading part has
>> >>>> > forgotten
>> >>>> > to
>> >>>> > install ST80. Is that right?
>> >>>>
>> >>>> Yes. ReleaseSqueakTrunk contains a rehydrated/full fat Squeak image
>> >>>> _with_ ST80 and friends loaded.
>> >>>>
>> >>>> Sorry! I should have noticed the failing builds and connected that
>> >>>> with the recent stripping of ST80.
>> >>>>
>> >>>
>> >>> Not at all, it was not obvious that this was connected to the problem.
>> >>>
>> >>> I guess that once the package reorganizing settles down, it would be
>> >>> good to have some kind of sanity-check test to ensure that a
>> >>> rehydrated
>> >>> image contains the expected set of packages.
>> >>>
>> >>> Dave
>> >>>
>> >>>
>> >>>
>> >>
>> >
>> >
>>
>
>
>
>


More information about the Squeak-dev mailing list