Page MenuHome

New buildbot ignores sub-module branches
Closed, ResolvedPublic

Description

Some branches (including one used in the Spright Fright production) require a certain add-ons branch to be used. So far the way to do this was by setting a submodule branch in Blender's make update. E.g. like here rB build_files/utils/make_update.py:177-183 (on asset-browser-poselib):

submodules = [
	        ("release/scripts/addons", "asset-browser-poselib"),
	        ("release/scripts/addons_contrib", branch),
	        ("release/datafiles/locale", branch),
	        ("source/tools", branch),
	    ]

The new buildbot doesn't checkout the branch as specified anymore, meaning the builds might not be usable for testing.

In the Blender Studio, animators use this to work with the asset-browser-poselib branch, which is developed in partnership with Spright Fright production.

Event Timeline

I actually fixed an issue regarding how it this was done as it was not working correctly.
I will add a config to override the default being master.
I will run test on your this specific branch.

You can check in the logs in the update-code step too verify that it was done correctly.

Do you want this branch to be nightly also ?

Dalai Felinto (dfelinto) changed the task status from Needs Triage to Confirmed.May 20 2021, 4:48 PM

Thanks @James Monteath (jmonteath)! I can't spend time on this right now unfortunately, but will keep an eye on things.

Do you want this branch to be nightly also ?

That would be great! (Not sure if the builds are triggered manually currently. I think @Sebastian Parborg (zeddb) handles that.)

I guess these could be updated nightly, yes.
This way the artists at the studio don't have to manually trigger builds (that can take a long time to finish for windows)

For branch this output is expected.
Can be reviewed in the update-code step

Updating Submodules

git fetch origin
git checkout asset-browser-poselib
Switched to branch 'asset-browser-poselib'
Your branch is up to date with 'origin/asset-browser-poselib'.
git pull --rebase origin asset-browser-poselib
From git.blender.org:blender-addons
 * branch              asset-browser-poselib -> FETCH_HEAD
Already up to date.
Current branch asset-browser-poselib is up to date.
git pull --rebase origin master
From git.blender.org:blender-addons-contrib
 * branch            master     -> FETCH_HEAD
Already up to date.
Current branch master is up to date.
git pull --rebase origin master
From git.blender.org:blender-translations
 * branch            master     -> FETCH_HEAD
Already up to date.
Current branch master is up to date.
git pull --rebase origin master
From git.blender.org:blender-dev-tools
 * branch            master     -> FETCH_HEAD
Already up to date.

Can't we just use the make_update.py from the Blender repo, that auto-detects branches?

There are some cases where it makes sense to move code into the buildbot repo, but this one doesn't make sense to me.

Can't do that.
That script did not work in certain circumstances.

We could eventually merge it back in once we proper configurations that can drive it.

I do need to explain a bit more though.
But that's lengthy discussion.

The approach has been reworked as discussed with @Brecht Van Lommel (brecht)
Will update Wiki with details during deployment today.

Wiki updated with summary of changes.