# Supported Platforms¶

## Introduction¶

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.

## Platforms¶

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.

Note

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.)

## Environment¶

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 rubin-env. 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.