Description
Problem:
Many s2n-tls feature probes exist that check whether the linked libcrypto provides a given API. When adding a feature probe, we often add a unit test to sanity check that the feature probe is getting properly enabled. These sanity checks often check that aws-lc supports the feature. However, some APIs were added to aws-lc after the initial aws-lc release, in which case a version check is needed in order for the s2n-tls unit tests to succeed with older versions of aws-lc.
When adding such a test, we currently must remember to check when the API was added to aws-lc so we can gate the check to specific aws-lc versions. If we forget to do this, we could accidentally break the s2n-tls build for older versions of aws-lc.
Solution:
We should add an early version of AWS-LC to the CI, such as v0.0.1. If a feature probe test is added which checks aws-lc for support, but the first version of aws-lc doesn't support this feature, the test will fail. This will inform the developer that the feature was added to aws-lc in a later release, and the test can be gated behind the proper aws-lc version.