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

Add OQS_MINIMAL_BUILD option and redefine CI workflow #903

Merged
merged 5 commits into from
Feb 13, 2021

Conversation

jschanck
Copy link
Contributor

@jschanck jschanck commented Feb 9, 2021

This adds an option to build only the default KEM and Signature scheme. For example, with this patch, if you want to build liboqs with only the Kyber512 and Dilithium2 algorithms you can use:

cmake -GNinja -DOQS_MINIMAL_BUILD=ON -DOQS_KEM_DEFAULT=OQS_KEM_alg_kyber_512 -DOQS_SIG_DEFAULT=OQS_SIG_alg_dilithium_2 ..

This will build the exact match for the default kem and sig and also any "_aesni" or "_avx2" implementations that are supported by the platform.

Opening this PR, at @baentsch's recommendation, for discussion about whether this is a useful feature / what else we would like it to do.

Edit: Tacking on proposed CI workflow from #907 (comment)

Copy link
Member

@baentsch baentsch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As already stated, I like the option. But I'm missing a (CI) test run/config with this option on in this PR.

@baentsch
Copy link
Member

Thanks, @jschanck for 5675c47 : LGTM. PR/CI now gated by #899.

@bhess bhess mentioned this pull request Feb 10, 2021
2 tasks
@baentsch
Copy link
Member

Thanks @bhess for #905. @jschanck could you please rebase and retry?

@jschanck jschanck changed the title Add OQS_MINIMAL_BUILD option Add OQS_MINIMAL_BUILD option and redefine CI workflow Feb 12, 2021
Copy link
Member

@baentsch baentsch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm fine with the CI changes/platform removals -- but still don't understand what/who provides testapproval/unlocks the next stage(s).

Copy link
Member

@baentsch baentsch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or are the arm tests triggered by an approval like this?

@jschanck
Copy link
Contributor Author

I'm fine with the CI changes/platform removals -- but still don't understand what/who provides testapproval/unlocks the next stage(s).

Anyone on the team can click through to https://app.circleci.com/pipelines/github/open-quantum-safe, click the testapproval job marked in purple, then click "approve". That will run the remaining arm jobs and then you should be able to merge the PR.

@jschanck jschanck marked this pull request as ready for review February 12, 2021 15:00
@baentsch
Copy link
Member

baentsch commented Feb 12, 2021

click the testapproval job marked in purple, then click "approve". That will run the remaining arm jobs and then you should be able to merge the PR

Just to check I finally got it: The idea here is that anyone can do a quick PR CI, but only after a team member approved the long-running (say, arm) tests (and/or request naming the branch "...audit..." if such testing seems in order), CI + PR can conclude (?) One more click for team members doing PRs, but a much faster sanity check. OK for me: My approval stands.

@jschanck
Copy link
Contributor Author

The idea here is that anyone can do a quick PR CI, but only after a team member approved the long-running (say, arm) tests (and/or request naming the branch "...audit..." if such testing seems in order)

Exactly.

@baentsch baentsch merged commit f4c1ef9 into open-quantum-safe:main Feb 13, 2021
@jschanck jschanck deleted the feat.minimal-build branch April 8, 2021 22:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants