Page MenuHomeWildfire Games

Jenkins autobuild fixes
AbandonedPublic

Authored by wraitii on Nov 14 2020, 12:36 PM.

Details

Reviewers
Itms
Silier
Summary

Two changes noted recently:

  • docker-svn fails if there are no snapshots to destroy, which is the case after a docker-reset
  • docker-differential should probably svn-up in case docker-svn failed.
Test Plan

Review the changes

Unit TestsFailed

Event Timeline

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

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

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/3531/display/redirect

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

builderr-debug-macos.txt
../../../source/simulation2/scripting/JSInterface_Simulation.cpp:152:4: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                        CFixedVector2D(-halfSize.X, -halfSize.Y),
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
In file included from ../../../source/graphics/tests/test_Camera.cpp:17:
/Users/wfg/Jenkins/workspace/macos-differential/source/graphics/tests/test_Camera.h:168:4: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                        CVector3D(-101.0f, -101.0f, 101.0f),
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
In file included from ../../../source/simulation2/tests/test_SerializeTemplates.cpp:17:
/Users/wfg/Jenkins/workspace/macos-differential/source/simulation2/tests/test_SerializeTemplates.h:39:4: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                        3, 0, 1, 4, 1, 5
                        ^~~~~~~~~~~~~~~~
                        {               }
1 warning generated.
builderr-release-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libnetwork.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/liblobby.a(precompiled.o) has no symbols
../../../source/simulation2/scripting/JSInterface_Simulation.cpp:152:4: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                        CFixedVector2D(-halfSize.X, -halfSize.Y),
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
/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/libscriptinterface.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
In file included from ../../../source/graphics/tests/test_Camera.cpp:17:
/Users/wfg/Jenkins/workspace/macos-differential/source/graphics/tests/test_Camera.h:168:4: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                        CVector3D(-101.0f, -101.0f, 101.0f),
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
In file included from ../../../source/simulation2/tests/test_SerializeTemplates.cpp:17:
/Users/wfg/Jenkins/workspace/macos-differential/source/simulation2/tests/test_SerializeTemplates.h:39:4: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                        3, 0, 1, 4, 1, 5
                        ^~~~~~~~~~~~~~~~
                        {               }
1 warning generated.

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

wraitii requested review of this revision.Nov 14 2020, 12:55 PM
Silier resigned from this revision.Nov 14 2020, 7:23 PM
Silier added a subscriber: Itms.

I have no actual knowledge about these linux scripts.
Having this established, does diff run on the same workspace as svn?
I thought they are different.

That not being the case, workspace update should not hurt. If up to date, nothing should change.

|| true looks reasonable

maybe @Itms can take quick look, by me it looks ok, but I do not feel qualified enough to say so

Itms requested changes to this revision.Nov 14 2020, 10:01 PM

The SVN change is wrong. If SVN is broken, the differential pipeline should try to build upon a working version, so you must not run svn up. If you want to change the paradigm and always build upon the latest SVN, the pipelines should be entirely rewritten.

You must run the docker-rebuild job after a reset. A reset is usually only needed when updating the Dockerfiles. If you correctly run the rebuild, you shouldn't need the || true. Adding it will hide bugs.

Everything in the CI is quite fragile I'm afraid. In my experience, every change breaks something. I have achieved a pretty good stability after a lot of iterations but I reckon it is difficult to make sense of the current system...

This revision now requires changes to proceed.Nov 14 2020, 10:01 PM
wraitii abandoned this revision.Nov 14 2020, 10:28 PM
In D3100#136269, @Itms wrote:

The SVN change is wrong. If SVN is broken, the differential pipeline should try to build upon a working version, so you must not run svn up. If you want to change the paradigm and always build upon the latest SVN, the pipelines should be entirely rewritten.

Alright, makes sense. I guess the case of "can't apply on old svn" is rare enough.

You must run the docker-rebuild job after a reset. A reset is usually only needed when updating the Dockerfiles. If you correctly run the rebuild, you shouldn't need the || true. Adding it will hide bugs.

The || true was necessary after the reset. But indeed, I'd not run rebuild yet (did that after).

I guess it'd be good to document that first sentence, maybe it is already and I just don't know?