GDC CI
wjoe
invalid at example.com
Wed Sep 16 09:33:05 UTC 2020
On Tuesday, 15 September 2020 at 18:49:48 UTC, Iain Buclaw wrote:
> On Tuesday, 15 September 2020 at 16:05:53 UTC, wjoe wrote:
>> On Tuesday, 15 September 2020 at 16:00:56 UTC, wjoe wrote:
>>> I've added the above tasks and they are reported to have been
>>> completed successfully in the Cirrus summary.
>>> However, on a closer look I can spot multiple failures or
>>> files/directories which can't be found.
>>> - Some 12 failed tests as well as 10 unresolved test cases in
>>> the unittest step.
>>> - The build package step failed with: cd ./libcc1: no such
>>> file or directory.
>>
>> This is the package function for reference:
>>
>> build_package() {
>> cd build || exit 1
>> make install || exit 1
>> tar -cJf gdc-${build_host}.txz /usr || exit 1
>> }
>>
>> Links for your convenience.
>> [1] https://github.com/w-joe/gcc/blob/master-ci/buildci.sh
>> [2] https://github.com/w-joe/gcc/blob/master-ci/.cirrus.yml
>
> Note the comments in the build function, only the dependencies
> of the C++ and D libraries are built. So you'll need to do
> `make all` in order to cover anything that was deliberately
> skipped.
Does that mean that building with build_bootstrap="enabled" is
insufficient ?
Because I exported that variable in the Cirrus CI configuration
and set it to 'disabled' for GDC and Unittest tasks and to
'enabled' for the Package task.
Packaging in the Unittest task didn't work unfortunately because
building that with bootstrap enabled exceeded the 2h time limit.
So now there are 3 tasks.
- Build GDC testsuite
- Build Unittests
- Build Package task
At the moment I made the Package task depend on the Unittest
task, but GDC and Unittest run in parallel.
I guess best practices would ask to make Unittest depend on GDC
to go easy on resources.
However, that would blow up the build cycle to something over
3.5h.
The stats right now are:
- Docker container builds in less than 5 minutes
It's automatically cached by CirrusCI i.e. this only applies if
the Dockerfile changed.
- GDC testsuite takes about 45 minutes with
build_bootstrap=disabled
- Unittests take a little more than 1 hour with
build_bootstrap=disabled
- Package task took 1:45h with build_bootstrap=enabled
That was 1:15h for building, and
a little less than half an hour for the package step (make
install && tar)
For a total of 2:46h
More information about the D.gnu
mailing list