NormandC wrote:Guys, shouldn't these changes the OSX pre-release build is based on be merged to master before the upcoming 0.16 release?
It's only after I found this topic that I understood the discrepancy in version numbering.
viewtopic.php?f=22&t=14527&p=116542#p116519
That is the objective, time permitting, and as Ian mentioned, we can document the differences as well but the git commit counting approach to version numbering is a bit flawed. One challenge with merging into master right now is that the
OS X builds are on the limits of what Travis-CI is willing to offer for non-enterprise accounts. While they have graciously increase build times to one hour for my account and are willing to do so for the main FreeCAD account, the builds still time out frequently and need to be restarted to complete (the aforementioned is completely automated).
The protracted build times are due to the amount of time required simply to install the port pre-requisites - for home-brew it is on the order of 20 minutes, depending upon Travis-CI infrastructure loading at the time, and for macports, indeterminate. In the background we are exploring various solutions/options, one of which is some sort of custom port-cacheing mechanism, albeit with the obvious potential drawbacks, because we would really like to stick with Travis-CI for reasons that should be obvious. Another approach may be to move to a different infrastructure, beit Circle-CI that allows 2 hour build times or an OS X server hosted somewhere with Jenkins configured to perform the builds allowing both home-brew and macports builds and on earlier OSes. I was hopeful that OCC7 might reduce the build times sufficiently to reliably come in under an hour but only time will tell... All of that said, I hope it is clear that we still have more work to do before we confidently move the OS X builds into master.
Currently the
OS X builds, while on an
forked repo, are fully automated. We have a process that detects git commits and will automatically perform a git merge and kick-off a Travis-CI build. If a build fails due to a timeout, it will be restarted. The OS X builds are currently labelled using the convention FreeCAD_0.16-6674.
0ec81d2-OSX-x86_64.dmg that demarcates the git short-SHA for the last commit on master that is included in the build - this is to work-around the somewhat flawed git commit counting method. While @sgrogen has been doing a bang up job of consistently moving the latest OS X builds to the FreeCAD master repo in a very timely fashion, we all would like to get these OS X builds on master to give poor Chris a break
In the near term, we are working on the following:
- Port caching experimentation to reduce build times (increase predictability and make Travis-CI OS X builds tractable for the dev team members)
- Switch automated builds from using git merge to git rebase and squash OS X Travis-CI commit history to winnow down the git commit count to be +1 over master
- Port OS X build configuration into unified Travis-CI configuration in preparation for merge with master and reconfigure automated builds accordingly
- Bribe @peterl94 to gin up a home-brew formala for CalculiX leveraging @ian.rees prior macports art
Clearly we are open to other ideas and solutions but the goal remains the same - get the OS X builds onto master in a predictable, reliable way as soon as possible.
Cheers,
Bruce