AppVeyor Windows builds
#1
Instead of spamming the Discord server with messages, here's a topic for everything related to AppVeyor Windows builds.

The current plan is to use AppVeyor to build Cuberite's Windows binaries. I've started doing some work to make this happen here: https://github.com/mathiascode/cuberite/...pveyor.yml

Sample builds:
- 32-bit: https://ci.appveyor.com/api/projects/mat...nch=master
- 64-bit: https://ci.appveyor.com/api/projects/mat...nch=master
Reply
Thanks given by:
#2
Appveyor already builds Cuberite using VS2017 as part of PR checking, it's just a bit slow ( https://github.com/cuberite/cuberite/issues/4378 ) The major task is now to make Appveyor send the built binaries to our Jenkins (or other presentable download page).
Reply
Thanks given by:
#3
(7 hours ago)xoft Wrote: Appveyor already builds Cuberite using VS2017 as part of PR checking, it's just a bit slow ( https://github.com/cuberite/cuberite/issues/4378 ) The major task is now to make Appveyor send the built binaries to our Jenkins (or other presentable download page).
I think the best idea would be to update the Windows download links on Cuberite's homepage to the Appveyor links (which would be https://ci.appveyor.com/api/projects/mad...nch=master and https://ci.appveyor.com/api/projects/madmaxoft/mcserver/artifacts/Cuberite.zip?job=Windows-x64&pr=false&branch=master after a merge to the main repo), and possibly set up a 301 redirect from the old URLs (https://builds.cuberite.org/job/Cuberite...berite.zip and https://builds.cuberite.org/job/Cuberite...berite.zip) to the new ones. As far as I'm concerned, linking Appveyor with our Jenkins server isn't trivial, and would only waste the build server's bandwidth. The average user will download builds from the homepage in any case.
Reply
Thanks given by:
#4
The only problem with that is that Appveyor deletes the artifacts after some time. We'd need a guaranteed new build before that, or the user will hit a 404 (And I've seen a few project fall down with this).
Reply
Thanks given by:
#5
(1 hour ago)xoft Wrote: The only problem with that is that Appveyor deletes the artifacts after some time. We'd need a guaranteed new build before that, or the user will hit a 404 (And I've seen a few project fall down with this).
For open source projects, Appveyor keeps builds for 6 months. Cuberite has had some inactive periods, but I don't think 6 months should be a problem.
Reply
Thanks given by:
#6
The Appveyor script should now generate debug builds as before for PRs/branches other than master, while 32-bit and 64-bit release builds are only generated in master. Release builds are now identical to the ones on Jenkins (also includes all separate archives such as AutoAPI.zip, PDBs.zip etc).

I'm also experimenting with build cache, but haven't tested it properly yet.
https://github.com/mathiascode/cuberite/...pveyor.yml
Reply
Thanks given by:
#7
Doesn't seem like creating separate scripts for pull requests was as easy as I thought, so right now it will build x64-debug, x86 and x64. The good news is that I got the build cache working, which speeds up these builds a lot.Big Grin
Reply
Thanks given by:




Users browsing this thread: 1 Guest(s)