You are viewing a plain text version of this content. The canonical link for it is here.
Posted to infrastructure-issues@apache.org by "#asfinfra IRC Bot (JIRA)" <ji...@apache.org> on 2009/09/27 23:54:16 UTC
[jira] Closed: (INFRA-2173) Create CouchDB BuildBot Instance
[ https://issues.apache.org/jira/browse/INFRA-2173?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
#asfinfra IRC Bot closed INFRA-2173.
------------------------------------
Resolution: Fixed
> Create CouchDB BuildBot Instance
> --------------------------------
>
> Key: INFRA-2173
> URL: https://issues.apache.org/jira/browse/INFRA-2173
> Project: Infrastructure
> Issue Type: Task
> Security Level: public(Regular issues)
> Components: Buildbot
> Reporter: Paul Joseph Davis
> Assignee: Gavin
>
> CouchDB Build Bot Request
> =========================
> General Outline
> ---------------
> 1. Two builds per commit - Normal and Coverage
> 2. Execution of test suite
> 3. Move generated reports to a public server
> 4. Harass developers on build failure via [commits|builds]@couchdb.apache.org
> and #couchdb on irc.freenode.org if possible.
> Dependencies
> ------------
> * Erlang - http://erlang.org/
> * Verision R13B01 - http://erlang.org/download/otp_src_R13B01.tar.gz
> * Easily built with:
> $ tar -xvzf otp_src_R13B01.tar.gz
> $ cd
> $ ./configure --enable-threads --enable-smp-support \
> --enable-kernel-poll --enable-hipe --with-ssl
> $ make
> $ make install
> * If kernel poll or HiPE is not supported on the target platform, neither is
> mission critical.
> * Erlang may whine a bit about not having Java or wxWidgets but should compile
> fine without either. CouchDB requires neither.
> * Spidermonkey
> * Version 1.7 - http://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz
> * By far the biggest headache of the bunch.
> * Building the library goes something like this:
> $ tar -xvzf js-1.7.0.tar.gz
> $ cd js/src/
> $ make -f Makefile.ref
> $ JS_DIST=/usr/local make -f Makefile.ref export
> * Supposedly, version 1.8.1 has an RC comming. If I were to guess, this is
> the requirement that will change fastest.
> * ICU - http://site.icu-project.org/
> * Version 4.0 - http://icu-project.org/download/4.0.html
> * I have absolutely no experience building this. Its always been in package
> manager repositories. The only report I've heard of issues is with versions
> less than 3.2. Current standard versions are generally 4.0 or 4.2
> * cURL - http://curl.haxx.se/
> * Version 7.19.5 - http://curl.haxx.se/download/curl-7.19.5.tar.gz
> * Also never built by hand as package manager versions are generally
> sufficient.
> A brief aside for future planning
> ---------------------------------
> The Erlang and Spidermonkey dependencies are the important two. Erlang
> development moves along pretty quickly and a fair amount of people tend to
> track with each release. Spidermonkey is undergoing some noticeable development
> with Tracemonkey (1.8.1) about to be released. Tracemonkey also introduces some
> noticeable API changes so having builds using versions on either side of the
> break would be appreciated.
> A future goal would be to have builds run against multiple versions and combinations of Erlang and Spidermonkey. Just thought I'd mention that now in
> case it affects decisions for software installation.
> Test builds on multiple operating systems would also be desirable (including
> Windows). I would guess that this is probably the most difficult dependency to
> add, but just in case you're looking for raised hands.
> Building CouchDB
> ----------------
> Assuming libraries are installed on system paths, it should be as simple as:
> $ ./bootstrap
> $ ./configure
> $ make
> $ make dev
> $ make check
> We would also like to have coverage reports generated which require building
> the Erlang sources with debug flags. A coverage run looks like this:
> $ ./bootstrap
> $ ERLC_FLAGS=+debug_info ./configure
> $ make
> $ make dev
> $ make cover
> The coverage HTML output is placed in the `./cover` directory. Currently this
> is the only report that we'd want to have copied to a publicly viewable
> location. In the future when we have a stable internal API, we'd look to add
> documentation generation similar to the other BuildBot projects.
> There are also a few other build combinations that would be in the nice-to-have
> but only require different parameters passed through ERLC_FLAGS.
> Triggering Commits
> ------------------
> Files that trigger a commit are the simple and obvious choices. A simple file
> name regular expression might be written as something like:
> .*\.(c|h|am|ac|erl|hrl|in|js|t|es|rb)$
> Ideally, builds would be triggered for each commit to the project's SVN
> repository that includes one or more files matching that regular expression. If
> that generates too many requests, then if possible backing off to once per
> commit but no more than 1 per some defined time period would be preferred.
> Notifications of build status
> -----------------------------
> This is obviously a ways off, but we'd probably want to see either a new
> mailing list created for build notices (builds@couchdb.apache.org) or have the
> notifications sent to the commits@couchdb.apahe.org list.
> Notices on the IRC channel (#couchdb on irc.freenode.org) would also be an
> excellent addition if they are available. IRC messages would probably be best
> for state transitions as opposed to the results of each build, but I would
> want to poll the channel before making a final decision.
> Thanks
> ------
> On behalf of the CouchDB team I'd like to thank the infrastructure team once
> again for providing all of the services that they do.
> Feel free to email me directly or hop on the #couchdb channel with questions.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.