codewars / factor

Container image for Factor
MIT License
1 stars 1 forks source link

Move imager.factor from testest to this repository #13

Closed Kacarott closed 9 months ago

Kacarott commented 9 months ago

Currently imager.factor which is used in the creation of the Factor docker image, is housed in testest. As imager.factor has nothing to do with testest including not ever being used in testest, but is a required part of the docker build process, it should be moved here.

Furthermore, having it in testest creates an artificial dependency, requiring testest to be update and a new release created even when fixing bugs that otherwise do not involve testest at all (for example #11).

nomennescio commented 9 months ago

As I have explained, your view on the relationship between this repository and the testest repository is not how they are intended to operate. I will explain.

Initially there was a single archive, testest, which did full releases. To split off the Docker file was done by kazk, and in my opinion was not necessary. Its goal is to have certified Docker images to be able to be deployed on Codewars. To that end it needs a released version of testest in combination with a Factor image that is properly prepared. To have a proper released version of testest, it needs to be tested first in combination with a Factor version to make sure all tests pass. If needed patches can be made to testest to make sure everything is working. That all needs to be done in the testest repository. Only after I have certified that a combination of a released testest version and a released Factor version that is properly prepared is working, I will make a short commit in this archive. At that point the only thing left to check if is the Docker image is properly building. So the purpose of this archive is NOT to test the combination of testest and Factor, or if the resulting image will work, but ONLY to see if the Docker image is working.

As of lately, the only major work that needed to be done was in the preparation of releasing 0.99. I made major effort to automate as much as possible, so that updating a Docker image is even easier. I only expect very minor maintenance work to be done in this archive.

With this in mind, all existing code in testest, such as imager.factor play in important role in testing and releasing of testest and therefore are NOT to be moved into this repository.

Kacarott commented 9 months ago

Initially there was a single archive, testest, which did full releases.

As I understand it, and what git history shows, is that there was originally a single archive testest which contained a test framework for Factor, and had nothing to do with the factor runner, besides being used by it. The code which maintained the docker image and runner was maintained separately, internally by kazk. At some point later, in order to allow you to contribute to the docker image, it was moved temporarily into testest, and then eventually it was moved back into its own repository.

The reason that this is a separate repository from testest is because it is an entirely separate thing. testest is a test framework written for Codewars, while this repository is for the building and handling of the docker image used by Codewars. They are also independant. testest could be used by other users/platforms besides Codewars, and the docker image could also theoretically use some other test framework besides testest. I understand that you are specifically designing testest to work with Codewars, however that is no reason to store core components of the docker repository in testest. No other project that I have heard of works like this. For testing you can simply access the imager.factor from this repository, there is no technical necessity for it to be stored in testest.

It seems to me like you are trying to handle in testest the things for which this repository is designed. Changes to the factor image preloaded by Codewars is an example of something that should clearly be handled in this repository, and that is handled via imager.factor.

I would like to hear @kazk opinion on this issue. But until I hear from him I won't reopen.