Skip to content

Commit 4d057b1

Browse files
willieyzmkannwischer
authored andcommitted
Add ec2_functests for further platforms test
- This commit adds EC2 functional tests for mldsa-native, similar to what we have in mlkem-native. - Unlike other functional tests that run on GitHub runners, the EC2 tests provide a bit more flexibility and control over the actual CPU architecture being tested. - During this work, we found that the CI did not raise an error when specifying a config_variations value that does not exist. For example, In this commit, We passed several non-existent config headers from PR #607, which has not been merged yet. The CI silently accepted these missing configurations without any error. - Since the configuration header from PR #607 is not yet merged, we temporarily comment out the config_variations parameter. Once PR #607 is ported, we will re-enable it. - We also plan to add test ID validation, similar to mlkem-native PR #1291, to prevent false-positive test results caused by invalid configuration entries. Signed-off-by: willieyz <[email protected]>
1 parent 500fc82 commit 4d057b1

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

.github/workflows/ci.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -450,6 +450,63 @@ jobs:
450450
kat: true
451451
acvp: true
452452
nix-shell: ${{ matrix.compiler.shell }}
453+
ec2_functests:
454+
strategy:
455+
fail-fast: false
456+
matrix:
457+
target:
458+
- name: AMD EPYC 4th gen (t3a)
459+
ec2_instance_type: t3a.small
460+
ec2_ami: ubuntu-latest (x86_64)
461+
ec2_volume_size: 20
462+
compile_mode: native
463+
opt: all
464+
# TODO: This config do not exist for now, will be available after PR #607 ("Add Runtime Dispatch") is merged.
465+
# config_variations: 'native-cap-CPUID_AVX2'
466+
- name: Intel Xeon 4th gen (t3)
467+
ec2_instance_type: t3.small
468+
ec2_ami: ubuntu-latest (x86_64)
469+
ec2_volume_size: 20
470+
compile_mode: native
471+
opt: all
472+
# TODO: This config do not exist for now, will be available after PR #607 ("Add Runtime Dispatch") is merged.
473+
# config_variations: 'native-cap-CPUID_AVX2'
474+
- name: Graviton2 (c6g.medium)
475+
ec2_instance_type: c6g.medium
476+
ec2_ami: ubuntu-latest (aarch64)
477+
ec2_volume_size: 20
478+
compile_mode: native
479+
opt: all
480+
# TODO: This config do not exist for now, will be available after PR #607 ("Add Runtime Dispatch") is merged.
481+
# config_variations: 'native-cap-ON native-cap-OFF native-cap-ID_AA64PFR1_EL1'
482+
- name: Graviton3 (c7g.medium)
483+
ec2_instance_type: c7g.medium
484+
ec2_ami: ubuntu-latest (aarch64)
485+
ec2_volume_size: 20
486+
compile_mode: native
487+
opt: all
488+
# TODO: This config do not exist for now, will be available after PR #607 ("Add Runtime Dispatch") is merged.
489+
# config_variations: 'native-cap-ID_AA64PFR1_EL1'
490+
name: Platform tests (${{ matrix.target.name }})
491+
permissions:
492+
contents: 'read'
493+
id-token: 'write'
494+
if: github.repository_owner == 'pq-code-package' && !github.event.pull_request.head.repo.fork
495+
uses: ./.github/workflows/ci_ec2_reusable.yml
496+
with:
497+
name: ${{ matrix.target.name }}
498+
ec2_instance_type: ${{ matrix.target.ec2_instance_type }}
499+
ec2_ami: ${{ matrix.target.ec2_ami }}
500+
ec2_ami_id: ${{ matrix.target.ec2_ami_id }}
501+
compile_mode: ${{ matrix.target.compile_mode }}
502+
opt: ${{ matrix.target.opt }}
503+
config_variations: ${{ matrix.target.config_variations || '' }}
504+
functest: true
505+
kattest: true
506+
acvptest: true
507+
lint: false
508+
verbose: true
509+
secrets: inherit
453510
check_autogenerated_files:
454511
strategy:
455512
fail-fast: false

0 commit comments

Comments
 (0)