Skip to content

Commit

Permalink
Move Tier 0 to Tier 1*
Browse files Browse the repository at this point in the history
  • Loading branch information
SWilson4 committed Dec 5, 2023
1 parent 7e80baa commit 5c1627a
Showing 1 changed file with 4 additions and 8 deletions.
12 changes: 4 additions & 8 deletions PLATFORMS.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This classification is roughly based on the [rust platform support tier classifi

### Tier 1

Tier 1 targets can be thought of as "guaranteed to work". The CI system builds and tests binary versions for each tier 1 target to make sure any change does not negatively affect those platforms. Platform-specific build documentation must exist.
Tier 1 targets can be thought of as "guaranteed to work". The CI system builds and tests binary versions for each tier 1 target to make sure any change does not negatively affect those platforms. Platform-specific build documentation must exist. Tier 1 targets marked with an asterisk are additionally tested for constant-time behaviour. The CI system contains automated constant-time testing for each of these starred targets, and all failures are documented in the `tests/constant_time` directory. IMPORTANT: This does not mean that constant-time behaviour is guaranteed on these targets, or that non-constant-time behaviour is limited to documented exceptions. It does, however, mean that `liboqs` developers should track constant-time issues on these platforms.

### Tier 2

Expand All @@ -18,10 +18,6 @@ Tier 2 targets can be thought of as "guaranteed to build". The `liboqs` CI syste

Tier 3 targets are those which the `liboqs` codebase has support for, but which the CI system does not build or test automatically, so they may or may not work. Platform-specific build documentation should exist.

### Tier 0

Tier 0 targets satisfy the same criteria as Tier 1 targets but are additionally tested for constant-time behaviour. The CI system contains automated constant-time testing for each tier 0 target, and all failures are documented in the `tests/constant_time` directory. IMPORTANT: This does not mean that constant-time behaviour is guaranteed on these targets, or that non-constant-time behaviour is limited to documented exceptions. It does, however, mean that `liboqs` developers should track constant-time issues on these platforms.

## Platform tier policy

Tier 2 and tier 1 targets place work on `liboqs` core project developers as a whole, to avoid breaking the target. The broader `liboqs` community may also feel more inclined to support higher-tier targets in their work. Thus, these tiers require commensurate and ongoing efforts from the maintainers of the target, to demonstrate value and to minimize any disruptions to ongoing `liboqs` development.
Expand All @@ -46,15 +42,15 @@ In this policy, the words "must" and "must not" specify absolute requirements th

## Platforms supported

### Tier 0
- x86_64/amd64/x64 for Ubuntu Linux (Focal)

### Tier 1

- x86_64/amd64/x64 for Ubuntu Linux (Focal)[^*]
- x86_64/amd64/x64 for MacOS (XCode 14)
- aarch64 for Ubuntu (Focal)
- armhf/ARM7 and aarch64 emulation on Ubuntu

[^*] Tested for constant-time behaviour.

### Tier 2

- x86_64/amd64/x64 for Windows 2022
Expand Down

0 comments on commit 5c1627a

Please sign in to comment.