GDC CI
Iain Buclaw
ibuclaw at gdcproject.org
Mon Sep 7 09:14:08 UTC 2020
On Saturday, 5 September 2020 at 21:14:28 UTC, Iain Buclaw wrote:
> On Saturday, 5 September 2020 at 11:23:09 UTC, wjoe wrote:
>> On Saturday, 5 September 2020 at 10:25:28 UTC, Johannes Pfau
>> wrote:
>>>
>>> The main difficulty in setting up CI for GDC is that we can't
>>> simply put CI configuration files in the toplevel folder, as
>>> that folder is under GCC's control. For CI which allows you
>>> to keep the configuration out of the repositories, this is
>>> not a problem. But for those requiring certain files in the
>>> top-level folder, it's more complicated.
>>>
>> How's upstream GCC doing CI ?
>
> They aren't. Or rather, other people are building every so
> often, or have their own scripts that build every single
> commit, and then post test results on the mailing list (i.e:
> https://gcc.gnu.org/pipermail/gcc-testresults/2020-September/thread.html)
So when it comes to CI, there are two/three use cases that need
to be considered.
1. Testing a changes to D or libphobos prior to committing to gcc
mainline/branch.
2. Testing the mainline (master) branch, either periodically,
every commit, or after a specific commit (such as the daily bump).
3. Testing the release branches of gcc (releases/gcc-9,
releases/gcc-10, ...).
I am least bothered by having [1] covered. I have enough faith
that people who send patches have at least done some level of due
diligence of testing their changes prior to submitting. So I
think the focus should only be on the frequent testing of
mainline, and infrequent testing of release branches.
If Cirrus has built-in periodic scheduling (without the need for
config files, or hooks added to the git repository), and you can
point it to GCC's git (or the GitHub git-mirror/gcc) then that
could be fine. CI scripts still need to live in a separate
repository pulled in with the build.
Iain.
More information about the D.gnu
mailing list