Page MenuHomeWildfire Games

Update linux CI to GCC7
Needs ReviewPublic

Authored by wraitii on Nov 22 2020, 12:14 PM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

This is the diff of required changes to update the linux CI to GCC7. Note that the actual update needs to be done rather manually.

The main change is that the gcc7 docker image is built on top of a base-image, which makes it faster to add different compilers if wanted (I have not done so at the moment, as we test clang on macOs and that seems enough).
I've pre-emptively added libfmt to the docker image (and vim because it's annoying to not have a text editor when testing things out).

Test Plan

Review the changes.

Unit TestsFailed

TimeTest
0 msJenkins > cxxtest_debug.xml::[failed-to-read]
Failed to read test report file E:\Jenkins\workspace\vs2015-differential\cxxtest_debug.xml org.dom4j.DocumentException: Error on line 347 of document : Content is not allowed in trailing section. at org.dom4j.io.SAXReader.read(SAXReader.java:511)
0 msJenkins > TestAllocators::test_da
0 msJenkins > TestAllocators::test_da
0 msJenkins > TestAllocators::test_da
0 msJenkins > TestAtlasObjectXML::test_parse_attributes1
View Full Test Results (1 Failed · 1,021 Passed)

Event Timeline

wraitii created this revision.Nov 22 2020, 12:14 PM
Owners added a subscriber: Restricted Owners Package.Nov 22 2020, 12:15 PM

Successful build - Chance fights ever on the side of the prudent.

builderr-release-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libsimulation2.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libengine.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libgraphics.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libatlas.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libgui.a(precompiled.o) has no symbols

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/2075/display/redirect

wraitii requested review of this revision.Nov 22 2020, 1:43 PM
Stan added a subscriber: Stan.Nov 22 2020, 2:25 PM
Stan added inline comments.
build/jenkins/dockerfiles/builder-base.Dockerfile
2 ↗(On Diff #14141)

Why not use the https://hub.docker.com/_/gcc images ?

build/jenkins/pipelines/docker-reset.Jenkinsfile
52

clang is still wip

Nescio added a subscriber: Nescio.Nov 22 2020, 5:01 PM

Why not go to gcc10?
Also, the list is not exactly the same as the one listed on https://trac.wildfiregames.com/wiki/BuildInstructions#DebianUbuntu ?

build/jenkins/dockerfiles/builder-base.Dockerfile
24–33 ↗(On Diff #14141)

libpython-dev, python, and python3; are all three needed?

Stan added a comment.Nov 22 2020, 5:26 PM

Because we need to support the minimum version. Ideally there would also be one on very latest.

wraitii added inline comments.Nov 24 2020, 12:00 PM
build/jenkins/dockerfiles/builder-base.Dockerfile
2 ↗(On Diff #14141)

Not obviously better, and there's less control on what the image actually is.

Stan added inline comments.Dec 2 2020, 8:56 AM
build/jenkins/dockerfiles/builder-base.Dockerfile
29 ↗(On Diff #14141)

Don't need this anymore.

wraitii updated this revision to Diff 14451.Dec 7 2020, 3:20 PM

Complete update after SM78

Vulcan added a comment.Dec 7 2020, 3:58 PM

Build failure - The Moirai have given mortals hearts that can endure.

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/2315/display/redirect

Nescio added inline comments.Dec 7 2020, 9:33 PM
build/jenkins/dockerfiles/build-base.Dockerfile
14

The summary says “GCC7”; why is clang needed then?

35

And llvm?

Stan added inline comments.Dec 8 2020, 6:30 PM
build/jenkins/dockerfiles/build-base.Dockerfile
43

+mkdocs

49

Why not use the packages ?