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 generated by the rubin-env metapackage.
This defines the environment within which our code must execute: all code must be compatible with the current version of
Compatibility with different versions is determined by the
rubin-env semantic version number.
The Conda environment is periodically updated to maintain compatibility, to utilize new features of third-party packages, or to add new dependencies.
To request that a new package be added to the environment, please file an RFC.