Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI: Test liboqs integration #743

Open
mkannwischer opened this issue Feb 5, 2025 · 1 comment
Open

CI: Test liboqs integration #743

mkannwischer opened this issue Feb 5, 2025 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@mkannwischer
Copy link
Contributor

mlkem-native has been integrated into liboqs (see #653).
We should test in our CI that future changes in mlkem-native do not break that integration.
The approach should be similar to what is done for AWS-LC (#654).
Here are the steps needed for liboqs:

  • clone the main branch of liboqs (if this is too flaky, we can fix to the last release version)
  • Patch the copy_from_upstream.yml with the new commit.
  • Run the copy_from_upstream.py (that has some python dependencies)
  • Run the liboqs build as per README
    • Once with cmake -DOQS_DIST_BUILD=ON -DOQS_OPT_TARGET=auto -DCMAKE_BUILD_TYPE=Release (C backend)
    • Once with cmake -DOQS_DIST_BUILD=OFF -DOQS_OPT_TARGET=auto -DCMAKE_BUILD_TYPE=Release (native backend - should do this on both x86 and AArch64)
  • Run tests pytest -k ML-KEM

@bhess, does this make sense?

@mkannwischer mkannwischer added the enhancement New feature or request label Feb 5, 2025
@bhess
Copy link
Contributor

bhess commented Feb 6, 2025

Hi @mkannwischer, I think such an integration test would be great!

This makes sense to me, just see the two comments below:

You would have to run copy_from_upstream.py copy

  • Once with cmake -DOQS_DIST_BUILD=ON -DOQS_OPT_TARGET=auto -DCMAKE_BUILD_TYPE=Release (C backend)

To test the C backend it should be cmake -DOQS_DIST_BUILD=OFF -DOQS_OPT_TARGET=generic -DCMAKE_BUILD_TYPE=Release. Otherwise, with OQS_DIST_BUILD=ON it would dynamically select the fastest implementation based on the cpu-flags.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants