New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Buildbot uploads R1/beta1 repositories to master S3 bucket #43
Comments
Manually moved the directories so the updates are now in place, anyway. |
This is likely due to: Adding another codebase, we reference "branch" during the built. Previously there was one codebase in the scheduler with one branch... now we get two branches in two codebases. I think we're grabbing the new codebase (last item in array). This can be seen in the debug output for the build referenced above... |
Raised a bug to buildbot here: It looks as though introducing another codebase silently unsets the 'branch' property. We then use the default which is 'master'. Asking the buildbot folks how you're supposed to determine the branch in a multi-codebase build. |
Pushed potential fix via 39b70a6. Github now "assumes" a bug is fixed and closed the issue if it sees "assumed fixed in ..." wth |
ok.. So when you have multiple codebases, buildbot expects you to leverage "Interpolate" The issue is we lose access to the Interpolated data pretty quickly... and when it fails to execute it spams invalid output everywhere instead of raising an error. Here's an example of trying to leverage Interpolate:
In the example above, crossDir is set to "../cross-tools-Interpolate('%(src:buildtools:branch)s')-x86" This is because the Interpolate value is only set on execution of the job. In another example:
this also doesn't work, since branch is "Interpolate("%(src:buildtools:branch)s")" until execution.
That code smells pretty bad however, and it doesn't address the lack of "if brach" within the codebase. |
honestly... at this point I think the "correct" solution is to revert this: While that commit is "correct", the buildbot Interpolate crap adds a lot of headaches and makes some pretty hard to follow code. |
Can't we just use shell wizardry to get the branch from Git directly, instead of from buildbot vars, when uploading to Minio? |
Damn you and your good ideas. |
errr.. a LOT of magic logic depends on the branch name within the python code. Pretty much all of our build profile choices are formed in the python code based on the current branch. (none of this is my doing btw :-) ) Maybe the real solution to this is finishing my work using concourse.ci :-D |
Here's the most complex code path that needs updated:
Since fixing this will require a massive refactor of our buildbot code... i'd rather just revert the (correct, but massively incomplete) c1f121d |
there is one alternative... we move the scripts to build releases into our git repository. The script will get all the important bits (or read them from BuildConfig), and then produce a release based on the inputs. buildHaikuRelease arm We could also roll the hacked UEFI scripts for r1beta1 into these scripts as well. |
buildbot is no more. |
See last step of: https://build.haiku-os.org/buildbot/#/builders/28/builds/333
This was a R1/beta1 repo build, but it got shoved into the "master" S3 bucket.
The text was updated successfully, but these errors were encountered: