I wanted to let everyone know that I just added ‘nightly’ builds to the main Altsteon web site. (It is at the bottom with a warning about stability.)
I decided to do this for two reasons. 1) When people have an issue and a patch is pushed in, they may be willing to run a development build so that they can gain the functionality they want. 2) Building Altsteon on a desktop Linux box or OS X is pretty easy for just about anyone. Getting the cross compile toolchain set up, and getting the build working for that can be a lot more frustrating experience.
I put ‘nightly’ in quotes because it may not appear to be nightly depending on how fast the tree is moving. So, what actually happens is a machine in my house checks the source repository to see if there are any changes that have been added. If there aren’t, then it won’t do anything. If there are, then it kicks off a build and, if successful, posts the build out to the web site and updates the build time stamp shown on the web site.
If this works out well, and the people that have commit rights to the repository want to see more frequent checks and builds, it may change from a nightly thing to something that is checked and updated in a shorter interval. But, for now it will be ‘nightly’ builds.
I just pushed a commit in, so assuming everything works correctly the first true nightly build should kick off at about 1 AM Mountain Time. (However, the time stamps on the server are in Pacific time since the servers live in that time zone.)
I have tried compiling a version to run on Vera, but no luck just yet, so I am using the nightly after checking in updates.
Any chance the nightly build script can be modified to change the name of the Vera executable? Maybe call it “altsteon.nightly” or the like? Or maybe include the date?
Might help others to remember which nightly, or not overwrite the release version.
I was going to make a few changes to the build server in the next few days anyway, so I’ll add this request to the list.
Since you are relying on the build system to kick out binaries, would it be useful if I have the build server check at a shorter interval? Maybe every 5 or 10 minutes during certain hours? (Or maybe every 5 or 10 minutes all the time?)
I’m also wondering if it would be worth the effort to create a VirtualBox VM with the build tools for the two Veras. Perhaps other folks interested in tinkering with native code would also chime in if this is something that would be interesting.
I only rely on the nightly for non-development testing, but a shorter interval might not be a bad idea either. If it doesn’t email you every time a new build is generated, and just happens silently in the background, any shorter interval would be great.
A VM with the tools would be nice. I haven’t delved into why my build fails to be executable on my Vera3. I’m currently running an Ubuntu 12.04 VM with crosstool-ng.
Okay, I pushed the frequency up to look for changes at the top of every hour. It takes a few minutes to build and push out, so following a commit a new build should show up on the web site by about 5 after.
I have also changed the name from ‘nightly’ to ‘dev’ builds, since it will make a bit more sense when the last updated timestamp happens mid-day.
Let me know if hourly is good enough, or if you would like something faster. It doesn’t generate any e-mail to me when things happen (good or bad). It just runs silently on a machine in my basement.
I was thinking it might be a good idea to move from crosstool-ng over to just using the OpenWRT toolchain like we do for the Vera2. I’ll look at throwing a VM together that mimics the build environment that I use.