Skip to content

Commit 1bc2faa

Browse files
committed
Convert Other OS tests to github action containers
Signed-off-by: Stephen Gallagher <[email protected]>
1 parent a16af1d commit 1bc2faa

File tree

1 file changed

+264
-2
lines changed

1 file changed

+264
-2
lines changed

.github/workflows/ci.yaml

Lines changed: 264 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,18 @@ jobs:
4949
- name: Run CI tests
5050
run: meson test -C ci --suite ci --print-errorlogs -t 5
5151

52+
- name: Set up the valgrind build directory
53+
run:
54+
meson setup --buildtype=debugoptimized -Dverbose_tests=false
55+
-Drpmio=disabled
56+
ci_valgrind $GITHUB_WORKSPACE
57+
58+
- name: Compile the code
59+
run: ninja -C ci_valgrind
60+
5261
- name: Run valgrind tests
5362
run:
54-
meson test -C ci --suite ci_valgrind --print-errorlogs -t 10
63+
meson test -C ci_valgrind --suite ci_valgrind --print-errorlogs -t 10
5564
--wrap=$GITHUB_WORKSPACE/contrib/valgrind/valgrind_wrapper.sh
5665

5766
- name: Run clang static analysis tests
@@ -153,9 +162,17 @@ jobs:
153162
- name: Run CI tests
154163
run: meson test -C ci --suite ci --print-errorlogs -t 5
155164

165+
- name: Set up the valgrind build directory
166+
run:
167+
meson setup --buildtype=debugoptimized -Dverbose_tests=false
168+
ci_valgrind $GITHUB_WORKSPACE
169+
170+
- name: Compile the code
171+
run: ninja -C ci_valgrind
172+
156173
- name: Run valgrind tests
157174
run:
158-
meson test -C ci --suite ci_valgrind --print-errorlogs -t 10
175+
meson test -C ci_valgrind --suite ci_valgrind --print-errorlogs -t 10
159176
--wrap=$GITHUB_WORKSPACE/contrib/valgrind/valgrind_wrapper.sh
160177

161178
- name: Run clang static analysis tests
@@ -221,3 +238,248 @@ jobs:
221238
-C installed_lib_tests
222239
--print-errorlogs
223240
-t 5
241+
242+
archlinux:
243+
name: Arch Linux
244+
runs-on: ubuntu-latest
245+
continue-on-error: true
246+
container:
247+
image: docker.io/archlinux/base
248+
249+
steps:
250+
- name: Install dependencies
251+
run: pacman -Syu --needed --noconfirm base-devel file git glib2 glib2-docs gobject-introspection gtk-doc help2man jq libyaml meson python-gobject python2-six valgrind
252+
253+
- name: Checkout code
254+
uses: actions/checkout@v2
255+
256+
- name: Set up the build directory
257+
run:
258+
meson setup --buildtype=debugoptimized -Drpmio=disabled
259+
ci $GITHUB_WORKSPACE
260+
261+
- name: Compile the code
262+
run: ninja -C ci
263+
264+
- name: Run CI tests
265+
run: meson test -C ci --suite ci --print-errorlogs -t 5
266+
267+
- name: Set up the valgrind build directory
268+
run:
269+
meson setup --buildtype=debugoptimized -Dverbose_tests=false
270+
-Drpmio=disabled
271+
ci_valgrind $GITHUB_WORKSPACE
272+
273+
- name: Compile the code
274+
run: ninja -C ci_valgrind
275+
276+
- name: Run valgrind tests
277+
run:
278+
meson test -C ci_valgrind --suite ci_valgrind --print-errorlogs -t 10
279+
--wrap=$GITHUB_WORKSPACE/contrib/valgrind/valgrind_wrapper.sh
280+
281+
mageia_7:
282+
name: Mageia 7
283+
runs-on: ubuntu-latest
284+
continue-on-error: true
285+
container:
286+
image: docker.io/mageia:7
287+
288+
steps:
289+
- name: Install dependencies
290+
run:
291+
dnf -y --setopt=install_weak_deps=False --setopt=tsflags='' install
292+
clang
293+
clang-analyzer
294+
createrepo_c
295+
curl
296+
elinks
297+
file-devel
298+
gcc
299+
gcc-c++
300+
git-core
301+
glib2-devel
302+
/usr/share/gtk-doc/html/glib/index.html
303+
gobject-introspection-devel
304+
gtk-doc
305+
help2man
306+
jq
307+
libyaml-devel
308+
meson
309+
ninja-build
310+
openssl
311+
pkgconf
312+
popt-devel
313+
python2-six
314+
python3-autopep8
315+
python3-devel
316+
python3-gitpython
317+
python3-gobject3
318+
python3-pycodestyle
319+
python3-rpm-macros
320+
rpm-mageia-setup-build
321+
rpm-build
322+
rpm-devel
323+
rpmdevtools
324+
ruby
325+
"rubygem(json)"
326+
rubygems
327+
sudo
328+
valgrind
329+
wget
330+
331+
- name: Checkout code
332+
uses: actions/checkout@v2
333+
334+
- name: Set up the build directory
335+
run: meson setup --buildtype=debugoptimized ci $GITHUB_WORKSPACE
336+
337+
- name: Compile the code
338+
run: ninja -C ci
339+
340+
- name: Run CI tests
341+
run: meson test -C ci --suite ci --print-errorlogs -t 5
342+
343+
- name: Set up the valgrind build directory
344+
run:
345+
meson setup --buildtype=debugoptimized -Dverbose_tests=false
346+
ci_valgrind $GITHUB_WORKSPACE
347+
348+
- name: Compile the code
349+
run: ninja -C ci_valgrind
350+
351+
- name: Run valgrind tests
352+
run:
353+
meson test -C ci_valgrind --suite ci_valgrind --print-errorlogs -t 10
354+
--wrap=$GITHUB_WORKSPACE/contrib/valgrind/valgrind_wrapper.sh
355+
356+
opensuse_tw:
357+
name: openSUSE Tumbleweed
358+
runs-on: ubuntu-latest
359+
continue-on-error: true
360+
container:
361+
image: registry.opensuse.org/opensuse/tumbleweed
362+
steps:
363+
- name: Enable docs in container
364+
run:
365+
sed -i /etc/zypp/zypp.conf
366+
-e "s/rpm.install.excludedocs = yes/rpm.install.excludedocs = no/"
367+
368+
- name: Install dependencies
369+
run:
370+
zypper install --no-confirm --no-recommends --capability
371+
clang
372+
clang-tools
373+
createrepo_c
374+
elinks
375+
file-devel
376+
gcc
377+
gcc-c++
378+
git-core
379+
glib2-devel
380+
gobject-introspection-devel
381+
gtk-doc
382+
help2man
383+
jq
384+
libyaml-devel
385+
meson
386+
ninja
387+
pkgconf
388+
python3-autopep8
389+
python3-devel
390+
python3-GitPython
391+
python3-gobject
392+
python3-pycodestyle
393+
python-rpm-macros
394+
rpm-build
395+
rpm-devel
396+
rpmdevtools
397+
sudo
398+
valgrind
399+
400+
- name: Checkout code
401+
uses: actions/checkout@v2
402+
403+
- name: Set up the build directory
404+
run: meson setup --buildtype=debugoptimized ci $GITHUB_WORKSPACE
405+
406+
- name: Compile the code
407+
run: ninja -C ci
408+
409+
- name: Run CI tests
410+
run: meson test -C ci --suite ci --print-errorlogs -t 5
411+
412+
- name: Set up the valgrind build directory
413+
run:
414+
meson setup --buildtype=debugoptimized -Dverbose_tests=false
415+
ci_valgrind $GITHUB_WORKSPACE
416+
417+
- name: Compile the code
418+
run: ninja -C ci_valgrind
419+
420+
- name: Run valgrind tests
421+
run:
422+
meson test -C ci_valgrind --suite ci_valgrind --print-errorlogs -t 10
423+
--wrap=$GITHUB_WORKSPACE/contrib/valgrind/valgrind_wrapper.sh
424+
425+
mandriva:
426+
name: OpenMandriva Cooker
427+
runs-on: ubuntu-latest
428+
continue-on-error: true
429+
container:
430+
image: docker.io/openmandriva/cooker
431+
outputs:
432+
meson_version: ${{ steps.scanbuild.outputs.available }}
433+
steps:
434+
- name: Install Dependencies
435+
run:
436+
dnf -y --setopt=install_weak_deps=False --setopt=tsflags='' install
437+
clang
438+
clang-analyzer
439+
cmake
440+
help2man
441+
jq
442+
meson
443+
ninja
444+
rpmdevtools
445+
sudo
446+
valgrind
447+
wget
448+
task-devel
449+
'pkgconfig(zlib)'
450+
'pkgconfig(gobject-introspection-1.0)'
451+
'python3dist(autopep8)'
452+
'python3dist(pygobject)'
453+
'pkgconfig(yaml-0.1)'
454+
'pkgconfig(rpm)'
455+
magic-devel
456+
git-core
457+
elinks
458+
459+
- name: Checkout code
460+
uses: actions/checkout@v2
461+
462+
- name: Determine if we can run scan-build
463+
id: scanbuild
464+
run: echo "::set-output name=available::echo $(rpmdev-vercmp $(meson --version) 0.49.0 > /dev/null; if [ $? == 12 ];then echo false; else echo true; fi )"
465+
466+
- name: Set up the build directory
467+
env:
468+
CC: clang
469+
CXX: clang++
470+
run:
471+
meson setup --buildtype=debugoptimized -Dwith_docs=false
472+
-Dlibmagic=disabled
473+
ci $GITHUB_WORKSPACE
474+
475+
- name: Compile the code
476+
run: ninja -C ci
477+
478+
- name: Run CI tests
479+
run: meson test -C ci --suite ci --print-errorlogs -t 5
480+
481+
- name: Run clang static analysis tests
482+
if: ${{ steps.scanbuild.outputs.available }}
483+
run: |
484+
meson setup --buildtype=debug -Dwith_docs=false -Dlibmagic=disabled -Dskip_introspection=true ci_scanbuild
485+
ninja -C ci_scanbuild scan-build; if [ $? -ne 0 ]; then elinks -dump ci_scanbuild/meson-logs/scanbuild/*/index.html; fi

0 commit comments

Comments
 (0)