Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Faster Appveyor builds #4378

Open
madmaxoft opened this issue Aug 26, 2019 · 7 comments · May be fixed by #4427

Comments

@madmaxoft
Copy link
Member

@madmaxoft madmaxoft commented Aug 26, 2019

Currently the Appveyor builds take between 15 and 30 minutes (increased substantially since the upgrade in fcc836f). Most of the time is spent in the cmake configuring phase, when cmake tries to detect various headers, macros etc., mainly for libEvent.

It might be possible to improve build speed either by providing the relevant entries on the command line, or by pre-populating the cache.

@peterbell10

This comment has been minimized.

Copy link
Member

@peterbell10 peterbell10 commented Aug 26, 2019

Wait, does cuberite now require VS2017? Any chance of bumping the standard as well?

@madmaxoft

This comment has been minimized.

Copy link
Member Author

@madmaxoft madmaxoft commented Aug 26, 2019

Cuberite itself doesn't require VS2017, but the tests currently do. There was a weird error regarding initializer_list in the test (and I suppose it would have occurred later on in the main code as well):
https://ci.appveyor.com/project/madmaxoft/mcserver/builds/26917859#L777

I already bumped the standard to C++17 in #4377 , at least in the PBA tests (so that I can use structured binding for returning multiple values from a function.

@madmaxoft

This comment has been minimized.

Copy link
Member Author

@madmaxoft madmaxoft commented Aug 27, 2019

So we can't bump the standard right now due to the cross-building tools for raspberry pi on the build server. I'm removing the C++17 features from the PR.

@madmaxoft

This comment has been minimized.

Copy link
Member Author

@madmaxoft madmaxoft commented Aug 28, 2019

We could probably move back to MSVC2013, thus run on the faster Appveyor infrastructure.

@peterbell10

This comment has been minimized.

Copy link
Member

@peterbell10 peterbell10 commented Aug 28, 2019

If you're already switching things around then it might be the time to move to VS 2015. See #4031

@madmaxoft

This comment has been minimized.

Copy link
Member Author

@madmaxoft madmaxoft commented Aug 28, 2019

Could be. I think the Appveoyr worker VMs do have VS2015 together with VS2013, so it could be the same (faster) VM than the VS2017 one. I probably won't be switching things around much, I just tried to use some C++17 features and failed :)

@madmaxoft

This comment has been minimized.

Copy link
Member Author

@madmaxoft madmaxoft commented Sep 7, 2019

The builds could be made much faster if we used a build cache. The LibEvent project uses it successfully, so it could probably be adapted from there: https://github.com/libevent/libevent/blob/master/appveyor.yml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.