[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
signature.asc
Description: OpenPGP digital signature
- [Tinycc-devel] A little hacky CI for TinyCC,
Giovanni Mascellani <=