Github user rnewson commented on a diff in the pull request:

    https://github.com/apache/couchdb-ci/pull/1#discussion_r48265648
  
    --- Diff: readme.markdown ---
    @@ -3,44 +3,80 @@ CouchDB CI Setup
     
     Mission statement: Create a new continuous integration infrastructure for 
the CouchDB project.
     
    -For the background and goals, see this 
[thread](https://www.mail-archive.com/dev%40couchdb.apache.org/msg43591.html) 
on the couchdb-dev mailing list.
    +For the background and goals, see
     
    -This is the repository for the automated creation of the CouchDB CI 
infrastructure. Well, at least it will be when it has grown up. This might take 
a while, though. Right now, it's just a bunch of Ansible scripts, a Vagrantfile 
and a Veewee definition.
    +* this 
[thread](https://www.mail-archive.com/dev%40couchdb.apache.org/msg43591.html) 
on the couchdb-dev mailing list and
    +* this [ASF Infra 
ticket](https://issues.apache.org/jira/browse/INFRA-10126).
     
    -See the readme files in folder `baseboxes` (for docs on building the base 
boxes) and the section about Vagrant below (for docs on how to spin up the 
setup locally).
    +*Remark: Throughout this repository we use the terms "master"/"worker" for 
the Jenkins build machines, whereas the Jenkins documentation uses the terms 
"master"/"slave".*
     
    -Fair warning: This is very much work in progress.
    +The main purpose of this repository is to provide a number of Docker 
containers that the ASF infrastructure team can use in their Jenkins setups and 
which are capable of building CouchDB. The idea is to provide containers for a 
number of different operating systems and Erlang versions to make sure CouchDB 
builds and runs on all supported setups.
     
    -Current state:
    +The current (rough) plan for the build matrix is this:
     
    -- [x] install bare Jenkins master with Ansible
    -- [x] install and configure nginx
    -- [x] create CouchDB build job in Jenkins via Ansible
    -- [x] switch to master-worker Jenkins setup
    -- [x] use ntp server for master and workers
    -- [ ] Use SCM sync plug-in to manage job configs
    -    * 
http://stackoverflow.com/questions/27138043/jenkins-scm-sync-configuration-plugin-in-docker-wont-talk-to-github
    -    * 
https://cburgmer.wordpress.com/2013/01/02/tracking-configuration-changes-in-jenkins/
    -- [ ] enable auth for Jenkins
    -- [ ] actually fetch CouchDB from VCS
    -- [ ] all apt-get commands should pin a specific version, in the base box 
definition as well as in Ansible. How?
    -- [ ] create an additional Ubuntu worker with an older Erlang version
    -- [ ] create another base box (different linux distro) for a third worker
    -- [ ] talk to Infra people
    +**OS/Erlang**       | **R14B04** | **R16B03-1** | **17.5** | **18.x**
    +--------------------|------------|--------------|----------|---------
    +**Ubuntu 14.04**    | ?          | -            | -        | WIP
    +**Ubuntu latest ?** | ?          | -            | -        | -
    +**Debian 7**        | ?          | -            | -        | -
    +**Debian 8**        | ?          | -            | -        | -
    +**OS X latest**     | ?          | -            | -        | -
    +**Free BSD**        | ?          | -            | -        | -
    +**Windows**         | ?          | -            | -        | -
     
    -*Remark: Throughout this repository we use the terms "master"/"worker" for 
the Jenkins build machines, whereas the Jenkins documentation uses the terms 
"master"/"slave".*
    +### Open questions
    +
    +* AFAIK Erlang 14 support will be dropped soon-ish, so I'm not sure if it 
is worth the effort to do anything for that.
    +* Which 18.x Erlang version is to be used? I heard someone saying 18.0 
once, but that was before 18.1 and 18.2 were available, so I guess it makes 
more sense to always use the latest 18.x to see if changes in Erlang 18 breaks 
CouchDB.
    +* There is no CentOS/RHEL there, shouldn't it be added?
    +* Do we run a CouchDB build on all combinations on each commit? This would 
probably be too much for the ASF Infra build systems. Do we build them once a 
day? We need to find a good balance between early feedback and resource 
consumption here.
    +* Do we even want to build the master branch or some other branch/tag? I 
guess the master branch would be most interesting for now, but not entirely 
sure. Also, it might make sense to make the branch/tag parameterizable so we 
could also use this to create releases from a specific tag etc.
    +* What exactly do we do in each Jenkins build? Just build CouchDB? Also 
build docs? Start CouchDB? Run some test suite?
    --- End diff --
    
    build couchdb, build docs, run all test suites.
    
    The 'build docs' step is very onerous, taking quite a while. If possible, 
we'd avoid building docs again if they haven't changed since last time, though 
that might be difficult to achieve.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to