-
Notifications
You must be signed in to change notification settings - Fork 100
108 lines (106 loc) · 3.12 KB
/
c.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
name: Test C implementation
on:
push:
paths:
- '.github/workflows/c.yml'
- Makefile
- 'KAT/**'
- 'src/**'
- 'tests/**'
pull_request:
paths:
- '.github/workflows/c.yml'
- Makefile
- 'KAT/**'
- 'src/**'
- 'tests/**'
jobs:
test-basic:
runs-on: ubuntu-latest
strategy:
matrix:
opt_level: ['GENERIC', 'FAST']
targetPlatform: [x86, x64]
steps:
- uses: actions/checkout@v2
- name: Build
env:
OPT_LEVEL: ${{ matrix.opt_level }}
ARCH: ${{ matrix.targetplatform }}
TargetPlatform: ${{ matrix.targetplatform }}
run: make
- name: SIKEp434
if: ${{ !(matrix.opt_level == 'FAST' && matrix.targetplatform == 'x86') }}
run: make test434
- name: SIKEp503
if: ${{ !(matrix.opt_level == 'FAST' && matrix.targetplatform == 'x86') }}
run: make test503
- name: SIKEp610
if: ${{ !(matrix.opt_level == 'FAST' && matrix.targetplatform == 'x86') }}
run: make test610
- name: SIKEp751
if: ${{ !(matrix.opt_level == 'FAST' && matrix.targetplatform == 'x86') }}
run: make test751
- name: SIKEp434 KATs
if: ${{ !(matrix.opt_level == 'FAST' && matrix.targetplatform == 'x86') }}
run: sike434/PQCtestKAT_kem
- name: SIKEp503 KATs
if: ${{ !(matrix.opt_level == 'FAST' && matrix.targetplatform == 'x86') }}
run: sike503/PQCtestKAT_kem
- name: SIKEp610 KATs
if: ${{ !(matrix.opt_level == 'FAST' && matrix.targetplatform == 'x86') }}
run: sike610/PQCtestKAT_kem
- name: SIKEp751 KATs
if: ${{ !(matrix.opt_level == 'FAST' && matrix.targetplatform == 'x86') }}
run: sike751/PQCtestKAT_kem
test-sanitize:
runs-on: ubuntu-latest
strategy:
matrix:
opt_level: ['GENERIC', 'FAST']
sanitizer: ['address', 'undefined']
steps:
- uses: actions/checkout@v2
- name: Build
env:
OPT_LEVEL: ${{ matrix.opt_level }}
EXTRA_CFLAGS: -g3 -fno-omit-frame-pointer -fno-optimize-sibling-calls -fsanitize-address-use-after-scope -fsanitize=${{ matrix.sanitizer }} -fno-sanitize-recover=${{ matrix.sanitizer }}
run: make CC=clang-11
- name: SIKEp434
run: sike434/test_SIKE nobench
- name: SIKEp503
run: sike503/test_SIKE nobench
- name: SIKEp610
run: sike610/test_SIKE nobench
- name: SIKEp751
run: sike751/test_SIKE nobench
test-valgrind-constant-time:
runs-on: ubuntu-latest
strategy:
matrix:
opt_level: ['GENERIC', 'FAST']
steps:
- uses: actions/checkout@v2
- name: Install valgrind
run: sudo apt-get install -y valgrind
- name: Build
env:
DO_VALGRIND_CHECK: "TRUE"
OPT_LEVEL: ${{ matrix.opt_level }}
run: make CC=clang-11
- name: SIKEp434
env:
DO_VALGRIND_CHECK: "TRUE"
run: make test434
- name: SIKEp503
env:
DO_VALGRIND_CHECK: "TRUE"
run: make test503
- name: SIKEp610
env:
DO_VALGRIND_CHECK: "TRUE"
run: make test610
- name: SIKEp751
env:
DO_VALGRIND_CHECK: "TRUE"
run: make test751