Stream

Join this community to post or comment

Arytas

Questions & Answers  - 
 
Hi everyone,
i want to setup a test environment with two slaves, each of them has different system configurations and other dependencies stuff.
Depending on the branch which has been changed i want to trigger a build with one a specific slave.
Is it possible to configure a builder with two slaves where i can trigger this builder with one specific slave (using the triggerable scheduler)?

What i mean is this:
Checkin in branch A is build something and if finished -> trigger builder with Slave A
Checkin in branch B is build something and if finished -> trigger builder with Slave B
but both slaves should have the same builder

So my setup looks like this
Anybranchscheduler builds branch A / B > after finished trigger step calls triggerablescheduler for the next build for branch A / B (and there i want to set the slave)

1
Benoît Allard's profile photoArytas's profile photo
7 comments
Arytas
 
ok thanks. then i will use two builders
thank you guys for your answer

Add a comment...

Pierre Tardy

Announcements  - 
 
Buildbot 0.9.1 is out!

Buildbot 0.9.1. Pierre Tardy tardyp at gmail.com. Tue Nov 1 21:16:57 UTC 2016. Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]. Hello, I am very happy to announce the release of buildbot 0.9.1. One month after 0.9.0 its time to release 0.9.1. As we had a very long stabilization ...
4
Add a comment...

Paulo Matos

Questions & Answers  - 
 
Does anybody know where's the definition for util.Interpolate (for 0.8.14)? Can't find it anywhere.

Need to understand why I can't do:
foo = util.Interpolate('%(src::branch)s')
1
Dustin Mitchell's profile photoTom Prince's profile photo
3 comments
 
setup.py has the mapping from plugin names to actual objects: https://github.com/buildbot/buildbot/blob/master/master/setup.py#L336
Add a comment...

chris laws

Announcements  - 
 
I created a PrometheusIO metrics exporter for Buildbot v0.9. It's mostly a proof of concept which I'll develop further as I use it more. 
buildbot-prometheus - A Prometheus metrics exporter for Buildbot.
1
chris laws's profile photoDustin Mitchell's profile photo
8 comments
 
We're considering switching to Github Issues / WIki for just that reason.  Thanks!!
Add a comment...

Pierre Tardy

Nine - the future!  - 
 
Great hosts! Thanks for all!
 
As technology professionals, we need to make sure that the software we write is reliably bug free and the best way to do that is with a continuous integration and continuous deployment pipeline. This week we spoke with +Pierre Tardy about Buildbot, which is a Python framework for building and maintaining CI/CD workflows to keep our software projects on track.
Summary. As technology professionals, we need to make sure that the software we write is reliably bug free and the best way to do that is with a continuous integration and continuous deployment pipeline. This week we spoke with Pierre Tardy about Buildbot, which is a Python framework for ...
1
1
Add a comment...

Ian Bell

Questions & Answers  - 
 
I have a project with approximately 40 builders. When one is broken, and I am working to fix it, it can take hours to do so if I need to make multiple pushes/builds to fix the bug in buildbot.

Simple question: can I configure buildbot to start with the builds that failed in the last build?
1
Dan Kegel's profile photo
 
That sounds like a great use for the REST API... it ought to be possible to write a script to force a rebuild on failed builders.

But you could also just click 'force build' on the web interface for those builders. Is that not an option?
Add a comment...

xu wu

Questions & Answers  - 
 
how many slaves are supported in one master-slave system?
i hope a dedicate number for this
1
Dustin Mitchell's profile photoBenoît Allard's profile photo
2 comments
 
"Many", as in 100s. You'll have to setup your master on a powerful machine though.
Add a comment...

Pierre Tardy

Nine - the future!  - 
 
In case like me you missed #Rethinkdb, and this pretty interesting blog post...

This post describe pretty well the generic problems we had in building the realtime updates in buildbot nine UI.

After looking a little bit more, it looks like rethinkdb do not resolve all the realtime synchro that we discovered.
- How do you resolve the race-conditions between initial get of the data, and updating via the change stream?
- rethink db does not provide up-to-the-browser full stack solution like firebase or kinto. You will need to look at the growing but fragmented ecosystem.
Over the past few months the team at RethinkDB has been working on a project to make building modern, realtime apps dramatically easier. The upcoming features are the start of an exciting new database access model – instead of polling the database for changes, the developer can tell RethinkDB to ...
1
Dustin Mitchell's profile photo
 
That is really interesting. I wonder how they do the state/event synchronization on the backend?
Add a comment...

Misha Penkov

Questions & Answers  - 
 
http://stackoverflow.com/questions/32164555/how-do-i-ensure-that-each-change-corresponds-to-its-own-build

I've been told to look at http://docs.buildbot.net/latest/manual/cfg-builders.html#collapsing-build-requests - that looks very relevant, but isn't in the current version of buildbot (0.8.12).

What can I do to prevent multiple Changes being built at once?
1
Add a comment...

Joshua Fisher

Questions & Answers  - 
 
Hey, I was wondering, is it possible to use a Renderable to get the Branch or Revision from a Force Build in the webUI?

Right now we're trying what's in the pastebin for doing branches. And ideally we could punch in a branch in the web GUI and it would attempt to build the latest from that branch, instead the command gets borked because Twisted doesn't like it:

argv: ['hg', '--verbose', 'update', '--clean', '--rev', "Unpersistable('Unpersistable data: instance of class buildbot.process.properties._Renderer deemed insecure')"]

Thanks!
1
Joshua Fisher's profile photo
6 comments
 
Okay, looks like I fixed my issue, had to do with my trying to make revisions renderable (The branch seems to work fine! Yay! Thank you!). I'm going to keep working on that. After I get that working/give up I'll make a pull request. Is there any documentation I should read to make sure to make a good pull request for you folks?
Add a comment...

About this community

We are users and developers of Buildbot

Pierre Tardy

Announcements  - 
 
The buildbot pull-requests have been mostly managed by buildbot_travis on hyper.sh for 3 weeks now.
It helps us a lot to get faster and more detailed testing results.

Here is a blog and video tutorial I worked on detailing how to deploy your own version in a matter of minutes.

Full detailled tutorial is here:

https://www.hyper.sh/howto/how-to-use-hyper.sh-to-deploy-your-buildbot.html

While the video is linked to this plus post

2
Add a comment...

Paulo Matos

Questions & Answers  - 
 
[didn't get much help from the mailing list, so hopefully I can get some comments here]

I am setting up a new buildbot infrastructure for multiple projects. The
issue here is that I haven't understood exactly what's the
recommendation on how to do this. I have 3 projects, 4 computer for
work. I intend to use 0.9rc.

* Do I need 1 master per project?
* Do I need 1 worker per project, per computer?

I noticed that there multi project support in buildbot which in this
case would mean I have 1 pc for the master and the remaining for
workers. But then do I have 1 worker / cpu (totalling 3) or 1 worker /
cpu / project (totalling 9) connecting to the same master?

It would be great if someone could clarify what's the best way going
forward.
1
Benoît Allard's profile photoPaulo Matos's profile photo
3 comments
 
Thanks.
Add a comment...

Paulo Matos

Questions & Answers  - 
 
How close is 0.9? Should new CI projects start with 0.8.12 and go through the migration pain later on or jump into 0.9 straight away? What's the recommendation here?
1
Benoît Allard's profile photoPaulo Matos's profile photo
2 comments
 
+Benoît Allard​ Perfect. Thanks. 
Add a comment...

Craig Price

Questions & Answers  - 
 
Hi everyone. I'm trying out version 0.9 and I'm running into a weird issue with the github status reporter. For some odd reason, it's not sending the auth token when builds are kicked off automatically (ie, from a push event from github). But if I hit the Rebuild button in the www UI, it works flawlessly. I've verified this behavior with wireshark.

I've looked at the source for the reporters/github.py and attempted to see if I could force it to work by doing silly things like hardcoding the auth token, but so far I haven't found where the issue lies. Does anybody have a clue what is going on here? Or perhaps another place to look?
1
Craig Price's profile photo
2 comments
 
Fixed it. Github was responding with a 301, and it looks like python wasn't resending all the of the header on the next request for some reason. Changing to the new address fixed it.


Hopefully this helps somebody in the future.
Add a comment...

Pierre Tardy

Nine - the future!  - 
 
http://www.drinchev.com/blog/alert-npm-modules-hijacked/

guanlecoja is free from those modules
EDIT : User @nj48 appears to have no malicious intentions. With the recent Module liberation there was a malicious activity that was spotted with hijacking the names of the modules. For example read-json https://github.com/mattdesl/install-if-needed/pull/2. The "hijacked modules" look like this ...
1
Dustin Mitchell's profile photoPierre Tardy's profile photo
2 comments
 
yes, you can use npm ls to know all of your dependencies
Add a comment...

Pierre Tardy

Nine - the future!  - 
 
Just merged rewamped version of the buildbot data-module.

The data-module project started with great work from +András Tóth during 2015 #GSOC. The goal is to make a separate angularjs module to access buildbot's REST and realtime api.

I am very happy of the resulting API, which helps a lot to write real time UI.
This new api seamlessly updates when there are changes on the backend, is easy to use and unit test.

We learned a lot of things with this project.
One of them is that indexdb performance is absolutely not what we expected (especially on #chrome).
We had to revert a bunch of the work of Andras after trying a lot to share buildbot data between tabs, and sessions.
I think it is still possible, but might lead to complexity which will not really pay for buildbot needs.

2
1
Add a comment...
 
here is a better dashboard for your amazing buildbot http://ghophp.github.io/buildbot-dashboard/
buildbot-dashboard. buildbot dashboard optimised for central displays. View on GitHub Download .zip Download .tar.gz. buildbot-dashing Join the chat at https://gitter.im/ghophp/buildbot-. If you have a CI/CD setup, it is really important to keep a central display and follow the builds and ...
5
Dustin Mitchell's profile photoJordan Cohen's profile photo
2 comments
 
This looks really great 
Add a comment...

Joshua Fisher

Questions & Answers  - 
 
Hey guys, another question. I've been tasked with making Buildbot able to do multiple tests per step. The test is essentially to grab some screenshots taken by a previous test, diff them against "accepted" images, and then output some images we may want based on that difference. We then upload the originals (the accepted images, and then new ones we're testing.) as well as the differences for archival reasons, and during our createSummary we place them into an HTML table for viewing.

For some context of why we want this: we have multiple projects we plan to extend this type of test to. Although we've only been doing it with one right now, we think that it would be useful for the step to determine on the fly how many images it needs to diff. So it'll check how many images are in the "accepted" list, and then base what it does off that. On top of that, we want to be able to see all the tests on a per project basis rather that per image.

So I figured (perhaps incorrectly) multi-inheriting from all of the steps I had used on the per image basis and making it do the determination would be a relatively "easy" way to solve the problem. I've ended up having nothing but issues. It appears that setting up the members and calling start myself for all these steps during my own start runs amok. When I ignored the FileUpload and MultiFileUpload after every Test.start call the slave tried to taskkill the process. I'm not sure how to tell it that I actually want all these steps to run one after another?

So what am I missing? Is there another method for doing this same task and I'm doing it in just a really weird, strange way?
1
Joshua Fisher's profile photoDustin Mitchell's profile photo
3 comments
 
You can combine a bunch of commands into one step, but no, you can't combine steps into a step.
Add a comment...

Pierre Tardy

Success Stories  - 
 
Search for "open source continuous integration" buildbot is now first thanks to its mobile friendly website. Thanks Google!
4
Add a comment...