tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Tinycc-devel] A little hacky CI for TinyCC


From: Giovanni Mascellani
Subject: [Tinycc-devel] A little hacky CI for TinyCC
Date: Fri, 13 Dec 2019 11:53:51 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.3.0

Hi,

I tried to set up something vaguely resembling a Continuous Integration
for TinyCC. The only other CI for TinyCC I managed to find seems to be
[1], which is months out of date and only tests one architecture (amd64).

 [1] https://travis-ci.org/TinyCC/tinycc/branches

My CI tests many architectures. I don't have hardware for all of them,
so instead I use the runners provided by GitLab CI (which is again
amd64), spawning a QEMU virtual machine for the tested architecture.
QEMU is not identical to actual hardware, but I believe this is better
than nothing. Also, the end result is very very hacky and much slower
than it could be, but, again, the alternative is nothing (correct me if
I am wrong).

I currently test for Debian i386, amd64, armhf and arm64. I will add
riscv64 as soon as the latest Debian kernel boots again. In line of
principle armel too could be added, but I don't know how to generate a
Debian armel image that boots with QEMU. It would be nice to add Windows
and macOS as well, but I don't know how to automatically perform tests
once the virtual machine has started.

Results are here:

  https://gitlab.com/giomasce/tinycc/pipelines

There is a cron job that automatically pushes there commits on the mob
branch. Incidentally, i386 tests currently fail[2] (I haven't
investigated this yet).

 [2] https://gitlab.com/giomasce/tinycc/-/jobs/378533140#L563

For horror lovers among you, scripts powering the CI are here:

  https://gitlab.com/giomasce/tinycc-test

I hope you find this useful for detecting regressions.

Have fun, Giovanni.
-- 
Giovanni Mascellani <address@hidden>
Postdoc researcher - Université Libre de Bruxelles

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]