The Science Pipelines are required to be portable across many compute platforms ranging from high-performance computing centers to laptops (refer to DMS-REQ-0308 in LSE-61). The software will likely work on any Unix-like systems but we limit our testing and support to a fixed set of platforms. Patches may be accepted from developers who test on other operating systems.
We have a baseline platform which is what we are using for integration testing and deployments. For each product, we also have a number of other platforms which are regularly tested by our continuous integration system to enhance portability.
The baseline platform is currently CentOS 7 on Intel x86_64.
We aim to stay current with CentOS 7 minor releases, updating within 6 months of their release.
We regularly test the following platforms in addition to the baseline platform:
- macOS Big Sur (11.0);
- macOS Catalina (10.15).
See https://ci.lsst.codes for the current list of regularly-tested platforms. (The “osx” platform there for the “stack-os-matrix” job randomly chooses a Big Sur or Catalina machine for each execution to limit load.)
On each of these platforms, we rely on Conda and conda-forge to provide our build- and run-time dependencies, including compilers and the Python interpreter. The Conda environment for Science Pipelines is available in the scipipe_conda_env repository. This defines the environment within which our code must execute: all code must be compatible with the contents of this environment when it is written; compatibility with older or newer environments is not guaranteed. The Conda environment is periodically updated to pull in newer versions of third party packages. To request such an update, or to request that a new package be added to the environment, please file an RFC.