EmptyEpsilon unofficial auto-builds

edited June 2016 in EmptyEpsilon
I have setup a script to run once an hour to check GitHub for updates on the EmptyEpsilon & SeriousProton repos.
If there's an update it will check it out, compile for Windows, bundle the EXE and instructions into a zip and upload it to http://bridgesim.net/builds/emptyepsilon. I might set it up to upload to Google Drive, but since it's just a few MB, I might leave it how it is for now. (If so the previous URL will have a webpage that points to the current ZIP files.

There should only be 3 files in the EmptyEpsilon-EXE-*.zip file. The files are
The README-BUILD.txt that contains instructions, the scripting documentation html file scripts_docs.html, and the EmptyEpsilon_*.exe which has the short commit version in the file name . This is so you can tell which commit it is from for Debugging.
You will need the EmptyEpsilon-DLL-*.zip - usually needed to be downloaded once since the DLLS don't change much. The README-BUILD.txt file has the URL needed for the ZIP file from GitHub that contains the game data.


  • These builds should be considered "Unofficial" and will probably not be compatible with the Releases on the EmptyEpsilon.org website. The Android client will not work with them either. These builds should be considered to be used for testing only and could break at any time.
  • This is awesome. It's cool that you've configured auto builds for those who just want to grab the latest code and test.
  • I like to have the latest and greatest to play with to see & test new features. I used to compile it manually (via a script) whenever a new commit is pushed to the main repo; now my build server handles it. Right now it only builds for Windows. I just need to modify the script to get my Debian builds going again. I'll have to dig into getting Android builds going when I have more time.
    Eventually the server will probably build other programs/games as well and not just EE.

    It's a manual process to grab all the pieces needed to actually play the new builds. I might setup a file that contains links to be able to script downloading the new files. This would be for those who want to pull it down automatically so others can have the bleeding edge like me.

    I also need to make it report if the builds fail, and for what reason. That way we can tell why a new build hasn't appeared after a commit.
    The box running the builds isn't a beefy one. It's a old MSI Wind with a single core Intel Atom. Right now it's running from a 4GB Compact Flash (OS) & 4GB USB drive (Builds) running Debian Jessie 32bit. Eventually I'd like to put a small SSD in there to speed up the builds. It's a low power box that I've had sitting around for a while. Figured I'd put it to use.
  • I build the releases on an single core Atom as well :-)
    For auto-builds. I recommend "jenkins" you can set it up to build, and email on build failures.

    The android builds are tricky. Just getting SFML to build properly was hell, and I had to patch SFML to work without crashing. It also takes forever to build, about 20 minutes on that machine. Without building SFML.
  • I used Jenkins (and Hudson) a couple years back at my previous job. I try to avoid Java like the Plague so I'll either roll my own scripts or find something similar without the Java dependency.

    I've saw the instructions on what you had to do in the Readme.md file for the Android builds. I just need more time to sit down and work on it. Convention season here is starting this weekend, so it could be a while before I get to it.
  • Just verified something, as the Android builds on my machine where not doing a full rebuild.

    The Android build actually takes one and a half hour now. So be careful with that one ;-)
  • Found a problem with my builds. Was accidentally overwriting the EXE with the documentation file. Removed older builds and uploaded a new one.
  • I spruced up the Build page a little with more details on the EXEs.
    Need to fix the link tonight to the EE website as I typo'ed it :/
  • Created some new cronjobs that will automatically move old builds to the archive directory.
    In doing some testing, I typo'ed the archive folder name, so the archives have been cleaned out.

    Zip files for the EXE's that older than 15 days should be moved to the archives directory once a day at around 1AM CST. Files older than 60 days should be deleted from the archives directory.

    I also reversed the sorting so new files are on top and the oldest files are at the bottom of the list.
  • Build server is currently down due to power outage. Should have it up in about 5 hours.
  • Build server is back up.
  • New build uploads are on hold until I update the new web server with the SSH key from my build server. Hoping to fix that tonight.
  • edited June 2016
    Renamed the topic "EmptyEpsilon unofficial auto-builds" to differentiate this from official builds.
  • I also need to rework the build page as the old settings from Apache doesn't work on NGiNX.
  • edited August 2016
    Builds should be are uploading again. Compiled for Windows & Linux (32bit) now.
Sign In or Register to comment.