Pin ScopeSIM dependencies
In our meeting this morning @wjvriend and I decided that MicadoWISE should have pinned versions of ScopeSIM / ScopeSIM_Templates / the IRDB as dependencies. This pinning is essential because we support integrating FITS files created with ScopeSIM directly, and that is only feasible if we can tell users to use specific versions of those packages. Moving dependencies and specific branches such as dev_master
should be avoided, especially in the master
branch.
In the past it was necessary to work with specific branches of the ScopeSIM dependencies, even in the master
branch, because it happened frequently that there was no combination of released ScopeSIM / ScopeSIM_Templates / IRDB version that would work for MICADO. Those projects now have MICADO-specific tests, with the idea that if those tests pass, then the package should work with MicadoWISE. It is our responsibility to update those tests if it happens that a certain release of ScopeSIM dependencies does not work with MicadoWISE.
There are six places where the versions of the ScopeSIM dependencies is (or should be) defined:
- micadowise.yml: the primary way to install MicadoWISE by end users. These must certainly be pinned to specific versions in order to provide reliable software to those users. These would not be necessary if there would be conda packages for ScopeSim etc.
- conda-recipe/meta.yaml: the dependencies of the conda package. The ScopeSIM dependencies are currently not specified there, because they are not yet conda packages. They should be added here once there are conda packages for ScopeSIM etc.
-
conda-recipe/run_test.sh: the tests ran by
conda build
, can also be ran stand-alone. These should be removed if/when there are conda packages for the ScopeSIM software. -
docker/bin/install_run_as_user.sh: These are the packages installed when creating the Docker image (can also be used standalone). These ad-hoc dependencies can be removed once there are conda packages for ScopeSIM software. Alternatively, it should be possible to use
micadowise.yml
in this installation script. -
.gitlab-ci.yml: the configuration for the continuous integration. These are used to overwrite the versions in the Docker image for the
simple_test
andintegration_test
jobs. It might be useful to keep some nightly CI jobs with moving dependencies for ScopeSim etc. because this would allow us to detect incompatibilities early. - irdb: the IRDB git submodule. There are no proper releases for the IRDB yet, so the IRDB is now a git submodule of MicadoWISE. This should probably become a proper pinned dependency once the IRDB has releases.
Several of the above are now git-branches such as dev_master
or dev_micado
. These should be replaced by specific PyPI versions. @kdleschinski will create new versions for ScopeSIM and ScopeSIM_Templates and those should work with MicadoWISE. There will also be versions for the IRDB, which should work once https://github.com/AstarVienna/irdb/pull/82 is merged (should be ready). The above can be simplified if there will be conda packages for ScopeSim related software (actually, then we would just need meta.yaml
), but that is not essential.