GDC CI

Iain Buclaw ibuclaw at gdcproject.org
Sat Sep 19 00:29:37 UTC 2020


On Thursday, 17 September 2020 at 14:15:34 UTC, wjoe wrote:
> On Wednesday, 16 September 2020 at 21:05:27 UTC, Iain Buclaw 
> wrote:
>> On Wednesday, 16 September 2020 at 12:50:57 UTC, wjoe wrote:
>>>[...]
>>
>> You should be able to get yourself down to about ~30MB. ;-)
>>
>> I'll see if there's any miscellaneous tweaks you can do, but 
>> the most obvious one is `strip --strip-debug`.
>>
>>> [...]
>>
>> IIRC, that top line just matches Debian/Ubuntu built gcc (in 
>> the hope that no weirdness would happen when running 
>> testsuite).
>>
>> Seems reasonable to break it out into a variable that can be 
>> overridden by the CI.
>>
>> Just looking at an old binary, the builder used 
>> `--prefix=/home/build/share/cache/install/x86_64-unknown-linux-gnu`.  Not saying that you should do the same, but the last part being the target triplet is the key.
>>
>> ...
>>
>> It may only be a marginal gain, but I find that 
>> --disable-libstdcxx-pch helps with speeding up incremental 
>> builds (a long time is spent compiling headers in libstdc++).
>
> Installation and creation of the tar ball now works as expected.
>
> It contains a folder named after the build_target triplet and 
> includes the libstdcxx, libphobos headers/sources as well as 
> the static/shared libs, the binaries and man pages.
> It took 1:54 to build and weighs 316MB but it isn't stripped 
> yet.
> Still waiting on the results of make install-strip and with 
> pre-compiled headers disabled.
>
> Once those are done I'll setup a github action to upload the 
> tar ball to the repository releases.
>
> Maybe it would be a good idea to tag the directory name with a 
> version ID or to make a version directory there and install 
> into that ?

I can provide a server for you to upload to.  Git tags for 
versioning might be interesting for uploads, but they're not 
going to be binaries that will stay around for too long.

This is a bastardized version of the git gcc-descr alias.

git describe --all --abbrev=40 --match 'basepoints/gcc-[0-9]*' 
origin/master | sed -n 's,^\(tags/\)\?basepoints/gcc-,r,p'

That should get you a tag like 
r11-3179-g5de41c886207a3a0ff1f44ce0a5a644e9d9a17f8


More information about the D.gnu mailing list