Marcus Denker wrote:
Hi,

I changed all links to point to the latest 2.0 build on files.pharo.org

Reason:

        -> We are fixing bugs, yet people downloading 2.0 do not see the fix
        -> We had multiple times that people wasted quite some effort 
re-reporting bugs
             that are already fixed.

Notes
        -> the file name "latest.zip" is not good for the image. It should 
encode that it is the image only and the version number maybe?
        -> I did not change any VM related download links, but I think we 
should do the same there.


        Marcus
That is great that 2.0 is continuing to improve.

+100 for including version numbers on the web page - something like [1]. For the purpose of reproducibility and least surprise, at [2] where it currently says "2.0 (release)" and "Pharo2.0 (win)" I would expect that link to download the _exact_ same file every time, except today that zip file contains files dated today, so obviously is not the same file as last week. You might get away with following "latest" with a link called "Pharo2 (win)" without the minor-version number, but by including a a minor-version number I would expect that it is the constant point-in-time snapshot of the _2.0 release_.
[1] http://www.python.org/download/
[2] http://www.pharo-project.org/pharo-download

Also, revisiting (major.minor.bugfix) semantic versioning in the context of Pharo, an important part of configuration management for a user is matching versions of VM to Image. For me, I simply this when I update by always taking the fat zip which include both - but it would be nice to have the confidence to just take the image. So it would be good if the VM/Image dependency could be encoded by the version numbers. Something like the following...

My shallow understanding of the CI infrastructure is that to "some degree" :
1. the Image CI runs against a constant VM version
2. the VM CI runs against a constant Image version

So considering Case 1...
a. Image updates would bump only the bugfix number. b. VM updates would bump the minor number. This would make is easy for a user to always determine that Image version 2.2.x was tested against VM Pharo22.exe. To avoid excessively incrementing the minor version number, considering Case 2... c. (for example) you would begin testing VM updates against constant Image 2.0.0 d. when a required VM update breaks a test in Image 2.0.0, then increment the minor version number. Work to get latest VM and latest Image both green. These then become Pharo21.exe and Image 2.1.0, which are used as a the next starting point for Case 1. Further VM updates are now tested against constant Image 2.1.0.

Now if you do the same with Pharo 3, then of course you might end up with Pharo25.exe and Pharo31.exe VMs being identical files, but from a user perspective that is a reasonable price to pay for the gain in configuration management.

P.S. Its great that the CI infrastructure even allows me to think along these lines.

cheers -ben



Reply via email to