1
+ # This is a basic workflow to help you get started with Actions
2
+
3
+ name : CI
4
+
5
+ # Controls when the action will run.
6
+ on :
7
+ # Triggers the workflow on push or pull request events but only for the master branch
8
+ push :
9
+ branches : [ master, ci ]
10
+ pull_request : {}
11
+
12
+ # Allows you to run this workflow manually from the Actions tab
13
+ workflow_dispatch :
14
+
15
+ # A workflow run is made up of one or more jobs that can run sequentially or in parallel
16
+ jobs :
17
+ # This workflow contains a single job called "build"
18
+ build-ubuntu :
19
+ # The type of runner that the job will run on
20
+ runs-on : ubuntu-latest
21
+
22
+ # Steps represent a sequence of tasks that will be executed as part of the job
23
+ steps :
24
+ # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
25
+ - uses : actions/checkout@v2
26
+ with :
27
+ submodules : recursive
28
+
29
+ # Runs a set of commands using the runners shell
30
+ - name : build boost
31
+ run : python3 build.py --setup --boost --par=4
32
+
33
+ - name : build relic
34
+ run : python3 build.py --setup --relic --par=4
35
+
36
+ - name : build bitpolymul
37
+ run : python3 build.py --setup --bitpolymul --par=4
38
+
39
+ - name : build libOTe
40
+ run : python3 build.py --par=4 -- -D ENABLE_ALL_OT=ON -D ENABLE_RELIC=ON -DENABLE_CIRCUIT=ON
41
+
42
+ - name : unit tests
43
+ run : ./out/build/linux/frontend/frontend_libOTe -u
44
+
45
+
46
+ - name : find source tree
47
+ run : |
48
+ cd libOTe_Tests/cmakeTests
49
+ cmake -S . -B out/ -DCMAKE_BUILD_TYPE=Release -D CMAKE_PREFIX_PATH=../../
50
+ cmake --build out/
51
+ ./out/main
52
+ rm -rf out/
53
+ cd ../..
54
+
55
+ - name : hint test
56
+ run : |
57
+ cd libOTe_Tests/cmakeTests
58
+ cmake -S . -B out/ -D LIBOTE_HINT=../..
59
+ cmake --build out/
60
+ ./out/main
61
+ rm -rf out/
62
+ cd ../..
63
+
64
+ - name : install prefix test
65
+ run : |
66
+ python3 build.py --setup --boost --relic --bitpolymul --install=~/install
67
+ python3 build.py --install=~/install
68
+ cd libOTe_Tests/cmakeTests
69
+ cmake -S . -B out/ -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=~/install
70
+ cmake --build out/
71
+ ./out/main
72
+ rm -rf out/
73
+ cd ../..
74
+
75
+
76
+ - name : install test
77
+ run : |
78
+ python3 build.py --setup --boost --relic --bitpolymul --install --sudo
79
+ python3 build.py --install --sudo
80
+ cd libOTe_Tests/cmakeTests
81
+ cmake -S . -B out/ -DCMAKE_BUILD_TYPE=Release
82
+ cmake --build out/
83
+ ./out/main
84
+ rm -rf out/
85
+ cd ../..
86
+
87
+ - name : build sodium
88
+ run : python3 build.py --setup --sodium --par=4
89
+
90
+ - name : build libOTe
91
+ run : python3 build.py --par=4 -- -D ENABLE_ALL_OT=ON -D ENABLE_SODIUM=ON -DENABLE_RELIC=OFF
92
+
93
+ - name : unit tests
94
+ run : ./out/build/linux/frontend/frontend_libOTe -u
95
+
96
+
97
+ - name : find source tree
98
+ run : |
99
+ cd libOTe_Tests/cmakeTests
100
+ cmake -S . -B out/ -DCMAKE_BUILD_TYPE=Release -D CMAKE_PREFIX_PATH=../../
101
+ cmake --build out/
102
+ ./out/main
103
+ rm -rf out/
104
+ cd ../..
105
+
106
+ - name : hint test
107
+ run : |
108
+ cd libOTe_Tests/cmakeTests
109
+ cmake -S . -B out/ -D LIBOTE_HINT=../..
110
+ cmake --build out/
111
+ ./out/main
112
+ rm -rf out/
113
+ cd ../..
114
+
115
+ - name : install prefix test
116
+ run : |
117
+ python3 build.py --setup --boost --relic --sodium --install=~/install
118
+ python3 build.py --install=~/install
119
+ cd libOTe_Tests/cmakeTests
120
+ cmake -S . -B out/ -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=~/install
121
+ cmake --build out/
122
+ ./out/main
123
+ rm -rf out/
124
+ cd ../..
125
+
126
+
127
+ - name : install test
128
+ run : |
129
+ python3 build.py --setup --boost --sodium --install --sudo
130
+ python3 build.py --install --sudo
131
+ cd libOTe_Tests/cmakeTests
132
+ cmake -S . -B out/ -DCMAKE_BUILD_TYPE=Release
133
+ cmake --build out/
134
+ ./out/main
135
+ rm -rf out/
136
+ cd ../..
137
+
138
+ # This workflow contains a single job called "build"
139
+ build-osx :
140
+ # The type of runner that the job will run on
141
+ runs-on : macos-latest
142
+
143
+ # Steps represent a sequence of tasks that will be executed as part of the job
144
+ steps :
145
+ # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
146
+ - uses : actions/checkout@v2
147
+ with :
148
+ submodules : recursive
149
+
150
+ # Runs a set of commands using the runners shell
151
+ - name : build boost
152
+ run : python3 build.py --setup --boost --par=4
153
+
154
+ - name : build relic
155
+ run : python3 build.py --setup --relic --par=4
156
+
157
+ - name : build libOTe
158
+ run : |
159
+ python3 build.py --par=4 -- -D ENABLE_ALL_OT=ON -D ENABLE_RELIC=ON -D ENABLE_SSE=OFF
160
+ python3 build.py --par=4 -- -D ENABLE_SILENTOT=OFF
161
+
162
+ - name : unit tests
163
+ run : ./out/build/linux/frontend/frontend_libOTe -u
164
+
165
+
166
+ - name : find source tree
167
+ run : |
168
+ cd libOTe_Tests/cmakeTests
169
+ cmake -S . -B out/ -DCMAKE_BUILD_TYPE=Release -D CMAKE_PREFIX_PATH=../../
170
+ cmake --build out/
171
+ ./out/main
172
+ rm -rf out/
173
+ cd ../..
174
+
175
+ - name : hint test
176
+ run : |
177
+ cd libOTe_Tests/cmakeTests
178
+ cmake -S . -B out/ -D LIBOTE_HINT=../..
179
+ cmake --build out/
180
+ ./out/main
181
+ rm -rf out/
182
+ cd ../..
183
+
184
+ - name : install prefix test
185
+ run : |
186
+ python3 build.py --setup --boost --relic --install=~/install
187
+ python3 build.py --install=~/install
188
+ cd libOTe_Tests/cmakeTests
189
+ cmake -S . -B out/ -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=~/install
190
+ cmake --build out/
191
+ ./out/main
192
+ rm -rf out/
193
+ cd ../..
194
+
195
+
196
+ - name : install test
197
+ run : |
198
+ python3 build.py --setup --boost --relic --install --sudo
199
+ python3 build.py --install --sudo
200
+ cd libOTe_Tests/cmakeTests
201
+ cmake -S . -B out/ -DCMAKE_BUILD_TYPE=Release
202
+ cmake --build out/
203
+ ./out/main
204
+ rm -rf out/
205
+ cd ../..
206
+
207
+
208
+ build-windows :
209
+ # The type of runner that the job will run on
210
+ runs-on : windows-latest
211
+
212
+ # Steps represent a sequence of tasks that will be executed as part of the job
213
+ steps :
214
+ # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
215
+ - uses : actions/checkout@v2
216
+ with :
217
+ submodules : recursive
218
+ - uses : seanmiddleditch/gha-setup-ninja@v3
219
+ - uses : ilammy/msvc-dev-cmd@v1
220
+
221
+ # Runs a set of commands using the runners shell
222
+ - name : build boost
223
+ run : python3 build.py --setup --boost --par=4
224
+
225
+ - name : build relic
226
+ run : python3 build.py --setup --relic --par=4
227
+
228
+ - name : build bitpolymul
229
+ run : python3 build.py --setup --bitpolymul --par=4
230
+
231
+ - name : build libOTe
232
+ run : python3 build.py --par=4 -- -D ENABLE_ALL_OT=ON -D ENABLE_RELIC=ON -G Ninja
233
+
234
+
235
+ - name : unit test
236
+ run : ./out/build/x64-Release/frontend/frontend_libOTe.exe -u
237
+
238
+ - name : find source tree
239
+ run : |
240
+ cd libOTe_Tests/cmakeTests
241
+ cmake -S . -B out/ -DCMAKE_BUILD_TYPE=Release -D CMAKE_PREFIX_PATH=../../
242
+ cmake --build out/ --config Release
243
+ ./out/Release/main.exe
244
+ rm -r -fo out/
245
+ cd ../..
246
+
247
+ - name : hint test
248
+ run : |
249
+ python3 build.py --setup
250
+ python3 build.py
251
+ cd libOTe_Tests/cmakeTests
252
+ cmake -S . -B out/ -D LIBOTE_HINT=../..
253
+ cmake --build out/ --config Release
254
+ ./out/Release/main.exe
255
+ rm -r -fo out/
256
+ cd ../..
257
+
258
+ - name : install prefix test
259
+ run : |
260
+ python3 build.py --setup --relic --boost --install=~/install
261
+ python3 build.py --install=~/install
262
+ cd libOTe_Tests/cmakeTests
263
+ cmake -S . -B out/ -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=~/install
264
+ cmake --build out/ --config Release
265
+ ./out/Release/main.exe
266
+ rm -r -fo out/
267
+ cd ../..
0 commit comments