Skip to content

Commit af6fc94

Browse files
committed
add GitHuab Actions workflow to test perftools building
Reviewed-by: Saša Nedvědický <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> (Merged from #48)
1 parent 8faf2f4 commit af6fc94

File tree

1 file changed

+280
-0
lines changed

1 file changed

+280
-0
lines changed

.github/workflows/test.yml

Lines changed: 280 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,280 @@
1+
name: "Test"
2+
3+
on:
4+
pull_request:
5+
workflow_dispatch:
6+
7+
jobs:
8+
debian-11:
9+
strategy:
10+
fail-fast: false
11+
matrix:
12+
openssl-branch:
13+
- "openssl-3.0"
14+
- "openssl-3.2"
15+
- "openssl-3.3"
16+
- "openssl-3.4"
17+
- "openssl-3.5"
18+
- "master"
19+
runs-on: "ubuntu-latest"
20+
container: "docker.io/library/debian:11"
21+
steps:
22+
- name: "Install prerequisites"
23+
run: |
24+
apt-get update
25+
apt-get install -y cmake gcc g++ make perl
26+
- name: "Checkout openssl"
27+
uses: "actions/checkout@v5"
28+
with:
29+
repository: "openssl/openssl"
30+
ref: ${{ matrix.openssl-branch }}
31+
fetch-depth: 1
32+
path: "openssl"
33+
- name: "Config openssl build"
34+
working-directory: "./openssl"
35+
run: |
36+
./config --prefix="$PWD/dist"
37+
- name: "Build openssl"
38+
working-directory: "./openssl"
39+
run: |
40+
make -j
41+
- name: "Install openssl"
42+
working-directory: "./openssl"
43+
run: |
44+
make install_sw
45+
- name: "Checkout perftools"
46+
uses: "actions/checkout@v5"
47+
with:
48+
path: "perftools"
49+
- name: "Config perftools build"
50+
working-directory: "./perftools/source"
51+
run: |
52+
cmake -S . -B build -DOPENSSL_ROOT_DIR="$GITHUB_WORKSPACE/openssl"
53+
- name: "Build perftools"
54+
working-directory: "./perftools/source"
55+
run: |
56+
cmake --build build --config Release
57+
58+
ubuntu-20-04:
59+
strategy:
60+
fail-fast: false
61+
matrix:
62+
openssl-branch:
63+
- "openssl-3.0"
64+
- "openssl-3.2"
65+
- "openssl-3.3"
66+
- "openssl-3.4"
67+
- "openssl-3.5"
68+
- "master"
69+
runs-on: "ubuntu-latest"
70+
container: "docker.io/library/ubuntu:20.04"
71+
steps:
72+
- name: "Install prerequisites"
73+
env:
74+
DEBIAN_FRONTEND: "noninteractive"
75+
run: |
76+
apt-get update
77+
apt-get install -y cmake gcc g++ make perl
78+
- name: "Checkout openssl"
79+
uses: "actions/checkout@v5"
80+
with:
81+
repository: "openssl/openssl"
82+
ref: ${{ matrix.openssl-branch }}
83+
fetch-depth: 1
84+
path: "openssl"
85+
- name: "Config openssl build"
86+
working-directory: "./openssl"
87+
run: |
88+
./config --prefix="$PWD/dist"
89+
- name: "Build openssl"
90+
working-directory: "./openssl"
91+
run: |
92+
make -j
93+
- name: "Install openssl"
94+
working-directory: "./openssl"
95+
run: |
96+
make install_sw
97+
- name: "Checkout perftools"
98+
uses: "actions/checkout@v5"
99+
with:
100+
path: "perftools"
101+
- name: "Config perftools build"
102+
working-directory: "./perftools/source"
103+
run: |
104+
cmake -S . -B build -DOPENSSL_ROOT_DIR="$GITHUB_WORKSPACE/openssl"
105+
- name: "Build perftools"
106+
working-directory: "./perftools/source"
107+
run: |
108+
cmake --build build --config Release
109+
110+
freebsd-13:
111+
strategy:
112+
fail-fast: false
113+
matrix:
114+
openssl-branch:
115+
- "openssl-3.0"
116+
- "openssl-3.2"
117+
- "openssl-3.3"
118+
- "openssl-3.4"
119+
- "openssl-3.5"
120+
- "master"
121+
runs-on: "ubuntu-latest"
122+
steps:
123+
- name: "Install prerequisites"
124+
uses: "cross-platform-actions/action@fe0167d8082ac584754ef3ffb567fded22642c7d" #v0.27.0
125+
with:
126+
operating_system: "freebsd"
127+
version: "13.4"
128+
shutdown_vm: false
129+
run: |
130+
sudo pkg install -y cmake gcc perl5
131+
- name: "Checkout openssl"
132+
uses: "actions/checkout@v5"
133+
with:
134+
repository: "openssl/openssl"
135+
ref: ${{ matrix.openssl-branch }}
136+
fetch-depth: 1
137+
path: "openssl"
138+
- name: "Config openssl build"
139+
uses: "cross-platform-actions/action@fe0167d8082ac584754ef3ffb567fded22642c7d" #v0.27.0
140+
with:
141+
operating_system: "freebsd"
142+
version: "13.4"
143+
shutdown_vm: false
144+
run: |
145+
cd openssl
146+
./config --prefix="$PWD/dist"
147+
- name: "Build openssl"
148+
uses: "cross-platform-actions/action@fe0167d8082ac584754ef3ffb567fded22642c7d" #v0.27.0
149+
with:
150+
operating_system: "freebsd"
151+
version: "13.4"
152+
shutdown_vm: false
153+
run: |
154+
cd openssl
155+
make -j 4
156+
- name: "Install openssl"
157+
uses: "cross-platform-actions/action@fe0167d8082ac584754ef3ffb567fded22642c7d" #v0.27.0
158+
with:
159+
operating_system: "freebsd"
160+
version: "13.4"
161+
shutdown_vm: false
162+
run: |
163+
cd openssl
164+
make install_sw
165+
- name: "Checkout perftools"
166+
uses: "actions/checkout@v5"
167+
with:
168+
path: "perftools"
169+
- name: "Config perftools build"
170+
uses: "cross-platform-actions/action@fe0167d8082ac584754ef3ffb567fded22642c7d" #v0.27.0
171+
with:
172+
operating_system: "freebsd"
173+
version: "13.4"
174+
shutdown_vm: false
175+
run: |
176+
cd perftools/source
177+
cmake -S . -B build -DOPENSSL_ROOT_DIR="$GITHUB_WORKSPACE/openssl"
178+
- name: "Build perftools"
179+
uses: "cross-platform-actions/action@fe0167d8082ac584754ef3ffb567fded22642c7d" #v0.27.0
180+
with:
181+
operating_system: "freebsd"
182+
version: "13.4"
183+
shutdown_vm: false
184+
run: |
185+
cd perftools/source
186+
cmake --build build --config Release
187+
188+
windows:
189+
strategy:
190+
fail-fast: false
191+
matrix:
192+
openssl-branch:
193+
- "openssl-3.0"
194+
- "openssl-3.2"
195+
- "openssl-3.3"
196+
- "openssl-3.4"
197+
- "openssl-3.5"
198+
- "master"
199+
runs-on: "windows-latest"
200+
steps:
201+
- name: "Install prerequisites"
202+
run: |
203+
choco install nasm
204+
"C:\Program Files\NASM" | Out-File -FilePath "$env:GITHUB_PATH" -Append
205+
- name: "Checkout openssl"
206+
uses: "actions/checkout@v5"
207+
with:
208+
repository: "openssl/openssl"
209+
ref: ${{ matrix.openssl-branch }}
210+
fetch-depth: 1
211+
path: "openssl"
212+
- name: "Config openssl build"
213+
working-directory: ".\\openssl"
214+
shell: cmd
215+
run: |
216+
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
217+
perl Configure no-makedepend
218+
- name: "Build openssl"
219+
working-directory: ".\\openssl"
220+
shell: cmd
221+
run: |
222+
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
223+
nmake
224+
- name: "Checkout perftools"
225+
uses: "actions/checkout@v5"
226+
with:
227+
path: "perftools"
228+
- name: "Config perftools build"
229+
working-directory: ".\\perftools\\source"
230+
run: |
231+
cmake -S . -B .\build -DOPENSSL_ROOT_DIR="$env:GITHUB_WORKSPACE\openssl"
232+
- name: "Build perftools"
233+
working-directory: ".\\perftools\\source"
234+
run: |
235+
cmake --build .\build --config Release
236+
237+
macos:
238+
strategy:
239+
fail-fast: false
240+
matrix:
241+
openssl-branch:
242+
- "openssl-3.0"
243+
- "openssl-3.2"
244+
- "openssl-3.3"
245+
- "openssl-3.4"
246+
- "openssl-3.5"
247+
- "master"
248+
runs-on: "macos-latest"
249+
steps:
250+
- name: "Checkout openssl"
251+
uses: "actions/checkout@v5"
252+
with:
253+
repository: "openssl/openssl"
254+
ref: ${{ matrix.openssl-branch }}
255+
fetch-depth: 1
256+
path: "openssl"
257+
- name: "Config openssl build"
258+
working-directory: "./openssl"
259+
run: |
260+
./config --prefix="$PWD/dist"
261+
- name: "Build openssl"
262+
working-directory: "./openssl"
263+
run: |
264+
make -j
265+
- name: "Install openssl"
266+
working-directory: "./openssl"
267+
run: |
268+
make install_sw
269+
- name: "Checkout perftools"
270+
uses: "actions/checkout@v5"
271+
with:
272+
path: "perftools"
273+
- name: "Config perftools build"
274+
working-directory: "./perftools/source"
275+
run: |
276+
cmake -S . -B build -DOPENSSL_ROOT_DIR="$GITHUB_WORKSPACE/openssl"
277+
- name: "Build perftools"
278+
working-directory: "./perftools/source"
279+
run: |
280+
cmake --build build --config Release

0 commit comments

Comments
 (0)