Hi all,
I've setup buildbot at enlightenment.org, initially it's running at a
different port, if it work out we may put it at
buildbot.enlightenment.org later.
http://enlightenment.org:8010/
Worth checking:
http://enlightenment.org:8010/waterfall - time based table with
history: when things changed, what happened (compile, test...)
http://enlightenment.org:8010/grid - quick view of the status of
each revision
http://enlightenment.org:8010/console - commits and their impact
Concepts:
ChangeSource: is something that may trigger a builder, I'm using
SVNPoller now for specific projects we care about (eina, eet, evas...)
Scheduler: defines when something happens, I've set a build at
3am (enlightenment.org local time), 30 seconds after a commit to do a
quick build of that commit, 1 hour after the commit do a full rebuild
(clean, update...)
Builder: defines how to do some build using a factory with steps.
I've a full-linux and quick-linux. clean-quick-linux triggers
quick-linux forcing clean before continuing (to use in case of
failures that need clean tree to recover)
BuildSlaves: the machines that execute the builder recipes.
Our "quick" build: a quick build is undefined, then we need to define
that to our project. I've choosen to do the following, but it takes
too much time to my taste:
- check and install package dependencies - required (fast if
nothing changed)
- compile package - required (incremental build, usually fast)
- make test - optional (depending on the test, it may take a
while, like eina)
- make distcheck - optional (takes LOTS of time, but detect
missing files in EXTRA_DIST)
- compile users - optional (incremental build, may take time --
build all packages that need this one. Like build edje if embryo
changed)
Note that the builds are already done out-of-tree, then we detect that
and missing files in the repository.
QUESTION: do you think make distcheck is required at this step? We
already do distcheck + make doc for packages in "full-linux" builder.
USING IT:
- Web Interface: http://enlightenment.org:8010/
- IRC bot: e-buildbot at #edevelop
- JSON API: http://enlightenment.org:8010/json/help
I've enabled actions in the web interface, but you need the password.
If you want so, talk to me in private and send a random password to be
STORED IN CLEAR TEXT. It's just good to trigger rebuilds and stop
them.
Reminder: if you're forcing build of quick-* or clean-quick-*, you
must fill in PROJECT field of the form with the actual name, like
"eina" or "python-evas" (no prefixes)
NEXT STEPS:
- Fill our packages, dependencies and options properly. I've done
a small subset and want people to help. Just change
trac.enlightenment.org/e/browser/trunk/SCRIPTS/buildbot/desc.py Let me
know if you need help with the file format.
- Clean warnings from our code and tests
- Create more tests to run
HELP NEEDED: if you have some big machine you can use as BuildSlave,
let me know. It may be behind a NAT or firewall. We need: Linux,
Windows, PS3 and MacOSX systems.
--
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--------------------------------------
MSN: [email protected]
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202
------------------------------------------------------------------------------
RSA(R) Conference 2012
Mar 27 - Feb 2
Save $400 by Jan. 27
Register now!
http://p.sf.net/sfu/rsa-sfdev2dev2
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel