Page MenuHome

Build: "make update" for release branches, to be used for buildbot
ClosedPublic

Authored by Brecht Van Lommel (brecht) on Wed, Aug 21, 1:31 AM.

Details

Summary

This is a step towards T67056. We need to be able to checkout a release branch
with correct submodules and libraries. The solution is to extend "make update"
to do it automatically when on a release branch, and use that for buildbot.

  • Build: move "make update" on macOS and Linux to Python script
  • Build: support updating for release branches in make_update.py
  • Buildbot: add script to update libraries and submodules

Beyond this it would be good to use make_update.py for the Windows make.bat.
This wasn't trivial so I left it for later work.

Diff Detail

Repository
rB Blender

Event Timeline

It's not that tricky, the check libraries call will actually grab the libs from svn if they don't exist, so if you move the update sources call after the check libraries call, you can reasonably assume the libs have been checked out and python should exist. (but checking for it wouldn't hurt)

didnt' test but P1074 will probably suffice

Build: integrate make_update.py into Windows make.bat (untested)

Actually tested to work on Windows now.

I think this is ready to commit, so review is welcome.

Am not really maintaining anything in that area, so not much to say here.

Besides the fact that the new make_update.py in not very pythonic (as in, think we usually try to avoid running any code at the module level (i.e. during module loading/evaluation), and use the if __name__ == "__main__": check at the end to detect that the file is actually 'executed' and call some kind of 'main' function then…). Not sure we really care about that in that specific case though?

I can't spot any issues.

Not really related on this specific patch, but shall we then put linux libraries to svn as well? So then we can have them tagged and versioned. And will be able to do corrective release even in the case when library update happens after release prior to the corrective one?
On a downside is then it would be seemed as a false indication that those are portable libraries (which isn't true due to difference in compilers ABI and such). But maybe iof we call them linux_centos7_gcc6 it will be clear enough? (which leads to a downside is that people would want to have more linuxes/compilers covered, but we wouldn't have resources to maintain those).

Besides the fact that the new make_update.py in not very pythonic

Same applies to all the scripts in buildbot folder, actually.

This revision is now accepted and ready to land.Wed, Aug 28, 11:38 PM

Not really related on this specific patch, but shall we then put linux libraries to svn as well? So then we can have them tagged and versioned. And will be able to do corrective release even in the case when library update happens after release prior to the corrective one?
On a downside is then it would be seemed as a false indication that those are portable libraries (which isn't true due to difference in compilers ABI and such). But maybe iof we call them linux_centos7_gcc6 it will be clear enough? (which leads to a downside is that people would want to have more linuxes/compilers covered, but we wouldn't have resources to maintain those).

I'm fine with having these, it seems good to have them especially to version them along with releases.