smalltalkCI icon indicating copy to clipboard operation
smalltalkCI copied to clipboard

Feature Request: Facilitate usage of custom VM

Open LinqLover opened this issue 3 years ago • 2 comments

Because of a small bug in OSVM that has been fixed very recently only, I would like to use a newer VM in my CI job. However, iiuc, at the moment I would need to manually download the relevant OSVM version to use it in my CI runs. It would be great if we had some more convenient arguments here, e.g. --vm-version=202003021730 or --vm-version=osvm-202003021730 (to be honest, I do not know if smalltalkCI also supports other VMs next to OSVM). smalltalkCI could then handle download and preparation of the binaries (if necessary) itself.

LinqLover avatar Mar 24 '21 19:03 LinqLover

This is related to #2 and I understand why you'd want to be able to select a specific VM. At the moment, smalltalkCI only supports the --vm flag, which instructs it to use the provided VM. You'd need to download and extract the VM yourself. The first problem is that different dialects use different VMs from different places. The second problem, with regard to Squeak, is that OpenSmalltalkVM doesn't follow a release schedule. WRT OpenSmalltalkVM, the third problem is that binaries on Bintray are not persistent, plus the Bintray service has been deprecated.

By the way, the same is true for Squeak trunk builds. They are not persistent, which is why there's no way to select a specific trunk image.

Building convenient helpers for all of this is possible. However, there's going to be more that needs to be maintained and at the moment, I'm afraid we don't have the resources to maintain something like this within smalltalkCI.

fniephaus avatar Mar 25 '21 13:03 fniephaus

A simple utility would be this:

smalltalkci --vm https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/download/202112201228/squeak.cog.spur_linux64x64.tar.gz

For now, I will implement the download and unpacking myself. :-)

LinqLover avatar Dec 27 '21 19:12 LinqLover