Convert to shell script provisioning, drop ansible

Supports all previous platforms + Ubuntu 18.04 (bionic)
Ubuntu 12.04 (precise) support has been dropped.


Project: http://git-wip-us.apache.org/repos/asf/couchdb-ci/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-ci/commit/c468e27a
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-ci/tree/c468e27a
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-ci/diff/c468e27a

Branch: refs/heads/master
Commit: c468e27a8a6d861c291e4fc6b6acc0342884d803
Parents: 5f817d7
Author: Joan Touzet <woh...@apache.org>
Authored: Tue May 8 21:42:56 2018 -0700
Committer: Joan Touzet <woh...@apache.org>
Committed: Sun May 27 23:07:41 2018 -0700

----------------------------------------------------------------------
 .dockerignore                                   |   5 +-
 .gitignore                                      |   1 +
 README.md                                       | 143 +++++----
 TODO.md                                         |   3 +
 Vagrantfile                                     |  65 ----
 ansible/centos-6-base.yml                       |  27 --
 ansible/centos-6-erlang-18.3.yml                |  23 --
 ansible/centos-6-erlang-default.yml             |  21 --
 ansible/centos-7-base.yml                       |  26 --
 ansible/centos-7-erlang-18.3.yml                |  23 --
 ansible/centos-7-erlang-default.yml             |  21 --
 ansible/debian-8-base.yml                       |  26 --
 ansible/debian-8-erlang-18.3.yml                |  24 --
 ansible/debian-8-erlang-default.yml             |  22 --
 ansible/debian-9-base.yml                       |  26 --
 ansible/debian-9-erlang-18.3.yml                |  24 --
 ansible/debian-9-erlang-default.yml             |  22 --
 ansible/inventory/couchdb-ci-worker             |  19 --
 ansible/readme.markdown                         |  17 --
 ansible/roles/common/files/build-ci.sh          |  43 ---
 ansible/roles/common/files/build.sudoers        |   1 -
 ansible/roles/common/tasks/couchdb.yml          |  68 -----
 ansible/roles/common/tasks/main.yml             |  43 ---
 ansible/roles/debian-8/tasks/main.yml           |   7 -
 ansible/roles/debian-8/vars/main.yml            |   2 -
 ansible/roles/debian-9/tasks/main.yml           |   7 -
 ansible/roles/debian-9/vars/main.yml            |   2 -
 .../dependencies-centos/files/texlive.profile   |  45 ---
 .../roles/dependencies-centos/tasks/latex.yml   |  49 ---
 .../roles/dependencies-centos/tasks/main.yml    | 121 --------
 .../roles/dependencies-centos/tasks/shunit.yml  |  31 --
 .../dependencies-debian/files/libmozjs185-fake  |   7 -
 .../roles/dependencies-debian/tasks/main.yml    | 110 -------
 .../roles/erlang-default-centos/tasks/main.yml  |  24 --
 .../roles/erlang-default-debian/tasks/main.yml  |  30 --
 ansible/roles/erlang-esl-centos/tasks/main.yml  |  23 --
 .../erlang-esl-debian-omnibus/meta/main.yml     |   2 -
 .../erlang-esl-debian-omnibus/vars/main.yml     |   3 -
 .../roles/erlang-esl-debian-pkgs/meta/main.yml  |   2 -
 .../roles/erlang-esl-debian-pkgs/vars/main.yml  |  33 --
 ansible/roles/erlang-esl-debian/tasks/main.yml  |  36 ---
 ansible/roles/fakejsrpm/files/js-1.8.5.spec     |  20 --
 ansible/roles/fakejsrpm/tasks/main.yml          |  16 -
 ansible/roles/lintian-debian/files/main.profile |   3 -
 ansible/roles/lintian-debian/meta/main.yml      |   3 -
 ansible/roles/lintian-debian/tasks/main.yml     |  28 --
 ansible/roles/lintian-ubuntu/files/main.profile |   3 -
 ansible/roles/lintian-ubuntu/meta/main.yml      |   3 -
 ansible/roles/lintian-ubuntu/tasks/main.yml     |  28 --
 .../roles/spidermonkey/files/fix-811665.patch   | 153 ----------
 ansible/roles/spidermonkey/tasks/main.yml       |  49 ---
 ansible/roles/ubuntu-1204/vars/main.yml         |   2 -
 ansible/roles/ubuntu-1404/vars/main.yml         |   2 -
 ansible/roles/ubuntu-1604/vars/main.yml         |   2 -
 ansible/run-ansible-local.sh                    |  48 ---
 ansible/ubuntu-12.04-base.yml                   |  26 --
 ansible/ubuntu-12.04-erlang-18.3.yml            |  24 --
 ansible/ubuntu-12.04-erlang-default.yml         |  22 --
 ansible/ubuntu-14.04-base.yml                   |  26 --
 ansible/ubuntu-14.04-erlang-18.3.yml            |  24 --
 ansible/ubuntu-14.04-erlang-default.yml         |  22 --
 ansible/ubuntu-16.04-base.yml                   |  26 --
 ansible/ubuntu-16.04-erlang-18.3.yml            |  24 --
 ansible/ubuntu-16.04-erlang-default.yml         |  22 --
 baseboxes/.gitignore                            |   2 -
 .../definitions/couchdb-ci-ubuntu-14.04/apt.sh  |  24 --
 .../couchdb-ci-ubuntu-14.04/build_time.sh       |  18 --
 .../couchdb-ci-ubuntu-14.04/cleanup.sh          |  33 --
 .../couchdb-ci-ubuntu-14.04/definition.rb       |  60 ----
 .../couchdb-ci-ubuntu-14.04/preseed.cfg         |  78 -----
 .../couchdb-ci-ubuntu-14.04/readme.markdown     |  14 -
 .../definitions/couchdb-ci-ubuntu-14.04/ruby.sh |  42 ---
 .../definitions/couchdb-ci-ubuntu-14.04/sudo.sh |  22 --
 .../couchdb-ci-ubuntu-14.04/vagrant.sh          |  31 --
 .../definitions/couchdb-ci-ubuntu-14.04/vbox.sh |  39 ---
 baseboxes/readme.markdown                       |  44 ---
 bin/apt-dependencies.sh                         | 136 +++++++++
 bin/apt-erlang.sh                               |  59 ++++
 bin/build-js.sh                                 |  58 ++++
 bin/build-test-couchdb.sh                       |  35 +++
 bin/centos-6-base/create-container.sh           |  28 --
 bin/centos-6-base/enter-container.sh            |  20 --
 bin/centos-6-base/publish-container.sh          |  20 --
 bin/centos-6-erlang-18.3/create-container.sh    |  28 --
 bin/centos-6-erlang-18.3/enter-container.sh     |  20 --
 bin/centos-6-erlang-18.3/publish-container.sh   |  20 --
 .../run-build-in-container.sh                   |  24 --
 bin/centos-7-base/create-container.sh           |  28 --
 bin/centos-7-base/enter-container.sh            |  20 --
 bin/centos-7-base/publish-container.sh          |  20 --
 bin/centos-7-erlang-18.3/create-container.sh    |  28 --
 bin/centos-7-erlang-18.3/enter-container.sh     |  20 --
 bin/centos-7-erlang-18.3/publish-container.sh   |  20 --
 .../run-build-in-container.sh                   |  24 --
 bin/centos-7-erlang-default/create-container.sh |  28 --
 bin/centos-7-erlang-default/enter-container.sh  |  20 --
 .../publish-container.sh                        |  20 --
 .../run-build-in-container.sh                   |  24 --
 bin/debian-8-base/create-container.sh           |  28 --
 bin/debian-8-base/enter-container.sh            |  20 --
 bin/debian-8-base/publish-container.sh          |  20 --
 bin/debian-8-erlang-18.3/create-container.sh    |  28 --
 bin/debian-8-erlang-18.3/enter-container.sh     |  20 --
 bin/debian-8-erlang-18.3/publish-container.sh   |  20 --
 .../run-build-in-container.sh                   |  24 --
 bin/debian-8-erlang-default/create-container.sh |  28 --
 bin/debian-8-erlang-default/enter-container.sh  |  20 --
 .../publish-container.sh                        |  20 --
 .../run-build-in-container.sh                   |  24 --
 bin/debian-9-base/create-container.sh           |  28 --
 bin/debian-9-base/enter-container.sh            |  20 --
 bin/debian-9-base/publish-container.sh          |  20 --
 bin/debian-9-erlang-18.3/create-container.sh    |  28 --
 bin/debian-9-erlang-18.3/enter-container.sh     |  20 --
 bin/debian-9-erlang-18.3/publish-container.sh   |  20 --
 .../run-build-in-container.sh                   |  24 --
 bin/debian-9-erlang-default/create-container.sh |  28 --
 bin/debian-9-erlang-default/enter-container.sh  |  20 --
 .../publish-container.sh                        |  20 --
 .../run-build-in-container.sh                   |  24 --
 bin/detect-os.sh                                | 132 ++++++++
 bin/install-dependencies.sh                     | 118 ++++++++
 bin/publish-all.sh                              |  24 --
 bin/pull-all.sh                                 |  25 --
 bin/rebuild-all.sh                              |  29 --
 bin/ubuntu-12.04-base/create-container.sh       |  28 --
 bin/ubuntu-12.04-base/enter-container.sh        |  20 --
 bin/ubuntu-12.04-base/publish-container.sh      |  20 --
 .../create-container.sh                         |  28 --
 bin/ubuntu-12.04-erlang-18.3/enter-container.sh |  20 --
 .../publish-container.sh                        |  20 --
 .../run-build-in-container.sh                   |  24 --
 bin/ubuntu-14.04-base/create-container.sh       |  28 --
 bin/ubuntu-14.04-base/enter-container.sh        |  20 --
 bin/ubuntu-14.04-base/publish-container.sh      |  20 --
 .../create-container.sh                         |  28 --
 bin/ubuntu-14.04-erlang-18.3/enter-container.sh |  20 --
 .../publish-container.sh                        |  20 --
 .../run-build-in-container.sh                   |  24 --
 .../create-container.sh                         |  28 --
 .../enter-container.sh                          |  20 --
 .../publish-container.sh                        |  20 --
 .../run-build-in-container.sh                   |  24 --
 bin/ubuntu-16.04-base/create-container.sh       |  28 --
 bin/ubuntu-16.04-base/enter-container.sh        |  20 --
 bin/ubuntu-16.04-base/publish-container.sh      |  20 --
 .../create-container.sh                         |  28 --
 bin/ubuntu-16.04-erlang-18.3/enter-container.sh |  20 --
 .../publish-container.sh                        |  20 --
 .../run-build-in-container.sh                   |  24 --
 .../create-container.sh                         |  28 --
 .../enter-container.sh                          |  20 --
 .../publish-container.sh                        |  20 --
 .../run-build-in-container.sh                   |  24 --
 bin/yum-dependencies.sh                         | 120 ++++++++
 bin/yum-erlang.sh                               |  47 +++
 build.sh                                        | 300 +++++++++++++++++++
 dockerfiles/centos-6                            |  58 ++++
 dockerfiles/centos-6-base                       |  33 --
 dockerfiles/centos-6-erlang-18.3                |  32 --
 dockerfiles/centos-6-erlang-default             |  32 --
 dockerfiles/centos-7                            |  57 ++++
 dockerfiles/centos-7-base                       |  33 --
 dockerfiles/centos-7-erlang-18.3                |  32 --
 dockerfiles/centos-7-erlang-default             |  32 --
 dockerfiles/debian-8-base                       |  33 --
 dockerfiles/debian-8-erlang-18.3                |  32 --
 dockerfiles/debian-8-erlang-default             |  32 --
 dockerfiles/debian-9-base                       |  33 --
 dockerfiles/debian-9-erlang-18.3                |  32 --
 dockerfiles/debian-9-erlang-default             |  32 --
 dockerfiles/debian-jessie                       |  54 ++++
 dockerfiles/debian-stretch                      |  54 ++++
 dockerfiles/ubuntu-12.04-base                   |  33 --
 dockerfiles/ubuntu-12.04-erlang-18.3            |  32 --
 dockerfiles/ubuntu-12.04-erlang-default         |  32 --
 dockerfiles/ubuntu-14.04-base                   |  33 --
 dockerfiles/ubuntu-14.04-erlang-18.3            |  32 --
 dockerfiles/ubuntu-14.04-erlang-default         |  32 --
 dockerfiles/ubuntu-16.04-base                   |  33 --
 dockerfiles/ubuntu-16.04-erlang-18.3            |  32 --
 dockerfiles/ubuntu-16.04-erlang-default         |  32 --
 dockerfiles/ubuntu-bionic                       |  54 ++++
 dockerfiles/ubuntu-trusty                       |  54 ++++
 dockerfiles/ubuntu-xenial                       |  54 ++++
 files/debian.profile                            |   3 +
 files/ubuntu.profile                            |   3 +
 utils/analyze-jenkins-logs/.gitignore           |   1 -
 .../bin/analyze-jenkins-logs                    |   3 -
 utils/analyze-jenkins-logs/ci-errors.markdown   | 154 ----------
 utils/analyze-jenkins-logs/index.js             | 213 -------------
 utils/analyze-jenkins-logs/package.json         |  20 --
 utils/auto-download-jenkins-logs/.gitignore     |   1 -
 .../bin/auto-download-jenkins-logs              |   3 -
 utils/auto-download-jenkins-logs/index.js       | 198 ------------
 utils/auto-download-jenkins-logs/package.json   |  24 --
 196 files changed, 1474 insertions(+), 5086 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/.dockerignore
----------------------------------------------------------------------
diff --git a/.dockerignore b/.dockerignore
index a60b743..db7c96d 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1,3 +1,4 @@
-# ignore everything except the ansible directory
+# ignore everything except the bin and files directories
 *
-!ansible
+!bin
+!files

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 797be3b..738f74f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 .vagrant
 *~
 *.swp
+js

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index 2232376..8ef8ca2 100644
--- a/README.md
+++ b/README.md
@@ -4,116 +4,115 @@ The main purpose of this repository is to provide a number 
of Docker containers,
 
 The current configuration builds CouchDB, Fauxton, its documentation, and runs 
the Erlang and JS test suites for each combination of OS and Erlang revision.
 
-## Background 
+# Supported Configurations (updated 2018-05-19)
 
-See: 
-* 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).
-for the origins of this work.
-
-## Supported Configurations (updated 2017-03-22)
+**OS / distro** | **Version** | **Erlang Version**
+----------------|-------------|-----------------------
+**ubuntu**      | trusty      | R16B03 (tag: default)
+**ubuntu**      | trusty      | 19.3.6
+**ubuntu**      | xenial      | 19.3.6
+**ubuntu**      | bionic      | 19.3.6
+**debian**      | jessie      | 19.3.6
+**debian**      | stretch     | 19.3.6
+**centos**      | 6           | 19.3.6
+**centos**      | 7           | 19.3.6
 
-**OS/Erlang**       | **default ** | **18.3**
---------------------|--------------|--------------
-**Ubuntu 12.04**    | ✗ (R14B04)   | ✔
-**Ubuntu 14.04**    | ✔ (16B03-1)  | ✔
-**Ubuntu 16.04**    | ✔ (18.3)     | ✔
-**Debian 8**        | ✔ (17.3)     | ✔
-**Debian 9**        | ✔ (19.2)     | ✔
-**CentOS 6**        | ✗ (R14B04)   | ✔
-**CentOS 7**        | ✔ (16B03-1)  | ✔
-**macOS 10.12**     | -            | -
-**FreeBSD**         | -            | -
-**Windows**         | -            | -
-
-Builds marked with an ✗ are skipped due to the version of Erlang being too 
old to build CouchDB >= 2.0.0.
-
-
-## Open questions and TODOs
-* Right now we run a CouchDB build on all combinations on each commit, but 
perhaps we don't need to run Jenkins this often. (We also have Travis CI for a 
single OS and a few Erlang revisions.) Should we just build them once a day?
-* Right now we only trigger Jenkins on the master branch. The images support 
building from whatever branch $GIT_BRANCH is set to (c.f. Jenkins environment 
variable.) Travis CI currently handles PRs. ASF hasn't set up a Jenkins/Gitbox 
bridge yet, but if they do we can consider having Jenkins build PRs as well.
-* Ideally, we'd also like to build convenience packages for some of these 
platforms on a regular basis, i.e. nightly - especially the platforms where 
building the software is harder (Windows).
-* Currently, when changes occur to the base images (bugfixes, new OS/Erlang 
combinations added, etc.) new images are built manually using the scripts in 
`bin/`. TODO: automate this process in a way that avoids forcibly rebuilding 
every VM/Erlang combination with every checkin.
+CouchDB's CI build philosophy is to use Travis (with `kerl`) to validate 
CouchDB against different Erlang versions, and to use Jenkins to validate 
CouchDB against different OSes and architectures. Where possible, Jenkins also 
auto-builds convenience binaries or packages.
 
 ---
 
 # Docker
 
-For those OSes that support Docker, we run builds inside of Docker containers. 
The Dockerfiles typically use Ansible to handle all of their configuration and 
setup. This allows us to reuse the Ansible tasks for those OSes not supported 
by Docker for native apps (such as macOS and FreeBSD) where we must use VMs or 
bare hardware. The ASF has Windows Jenkins clients as an alternative to running 
Jenkins on Windows; a decision has not yet been reached here.
+For those OSes that support Docker, we run builds inside of Docker containers. 
These containers are built using the `build.sh` command at the root level.
 
-## Building a container
+Separate targets exist to build a compatible SpiderMonkey 1.8.5 package for 
each Linux target release.
 
-Run the `bin/<image-name>/create-container.sh` script.
+## Building a container
 
-## Interactively working in a built container
+```
+./build.sh platform <distro>-<version>
+```
 
-Run the `bin/<image-name>/enter-container.sh` script.
+Valid `distro` and `version` values come from the table above.
 
-## Running the CouchDB build in a locally built (but not published) container
+## Building the special Ubuntu Trusty default Erlang image
 
-After using the `create-container.sh` script, run the command `docker run -it 
couchdbdev/<imagename>`. The build should immediately start.
+```
+ERLANGVERSION=default ./build.sh platform ubuntu-trusty
+```
 
 ## Publishing a container
 
 1.  You need a Docker Cloud account with access to the `couchdbdev` 
organization. Ask the CouchDB PMC for assistance with this.
 2. `export DOCKER_ID_USER="username"`
 3. `docker login` and enter your password.
-4.  Run the `bin/<image-name>/publish-container.sh` script.
+4. `./build.sh publish <distro>-<version>` just as above.
 
-## Running the CouchDB build in a published container
-
-To pull down the latest image and run the CouchDB build in the container, run 
the `bin/<image-name>/run-build-in-container.sh` script. This does not work 
with `-base` images, which lack the full toolchain necessary to build CouchDB.
+---
 
+# Useful things you can do
 
-Vagrant
--------
+## Interactively working in a built container
 
-Note: This section on creating the build machines on Vagrant might be 
outdated. Either we bring it up to date to have both possibilities (Docker & 
Vagrant) or we remove it completely and just go with Docker for now.
+After building the image as above:
 
-### Prerequisites
+```
+docker run -it couchdbdev/<tag>
+```
 
-See the readme files in folder `baseboxes` for docs on building the base boxes.
+where `<tag>` is of the format `<distro>-<version>-<type>`, such as 
`debian-stretch-erlang-19.3.6`.
 
-You need to have [Vagrant](https://www.vagrantup.com/) and 
[VirtualBox](https://www.virtualbox.org/) installed.
+## Running the CouchDB build in a published container
 
-When Vagrant is installed you need to install an additional plug-in:
-```bash
-vagrant plugin install vagrant-hosts
 ```
-
-plus an additional Ansible role
-```bash
-[sudo] ansible-galaxy install nodesource.node
+./build.sh couch <distro>-<version>
 ```
 
-Also, you might need to run
-```bash
-VBoxManage dhcpserver remove --netname HostInterfaceNetworking-vboxnet0
+## Building SpiderMonkey 1.8.5 convenience packages
+
+The Linux docker containers are also used to build suitable SpiderMonkey 1.8.5 
binary packages.
+
 ```
-before doing
-```bash
-vagrant up
+./build.sh js <distro>-<version>
 ```
-because of <https://github.com/mitchellh/vagrant/issues/3083>.
-
-### Building and Registering the Base Box
 
-Each vagrant configuration requires its respective base box. For example, the 
configuration jenkins-master requires the base box `couchdb-ci-ubuntu-14.04`. 
You can build the base boxes locally with veewee (see 
`baseboxes/readme.markdown`). To make things easier we might upload the base 
boxes somewhere so people do not have to build them theirselves but can just 
download them but we are not there yet.
+To build packages for all supported platforms:
 
-Either way, you have to add the image to the vagrant base image registry with 
the following command:
 ```
-vagrant box add couchdb-ci-ubuntu-14.04 /path/to/your/base-box-file.box
+./build.sh js-all
 ```
 
-When this has happened, `vagrant box list` should list the base box's name 
(`couchdb-ci-ubuntu-14.04` in our example).
+## Adding support for a new release/platform
 
-The base box built with veewee is just a fresh minimal install of the OS. All 
relevant packages and configurations are provisioned with Ansible. Vagrant is 
used to make creating, provisioning and destroying these virtual machines 
easier.
+1. Copy and customize an appropriate Dockerfile in the `dockerfiles` directory.
+1. Build a base image using `./build.sh base <distro>-<version>`. Solve any 
problems with the build process here.
+1. Build the JS packages using `./build.sh js <distro>-<version>`. Again, fix 
any problems that arise.
+1. Publish the new JS packages with `./build.sh js-upload <distro>-<version>`.
+1. Build the full platform image with `./build.sh platform <distro>-<version>`.
+1. Publish the new image with `./build.sh platform-upload <distro>-<version>`.
+1. Be sure to add the new platform to Apache CouchDB's `Jenkinsfile`.
+1. Push any changes to this repo, or to `couchdb-pkg`, out for review and 
merging.
 
-### Launching and Provisioning the Boxes
+---
 
-Just execute `vagrant up`. This will start all the virtual machine and 
provision it using the scripts in `ansible`. That's it :-)
+# Other platforms
+
+We are eager for contributions to enhance the build scripts to support setting 
up machines with the necessary build environment for:
+
+* FreeBSD
+* NetBSD
+* OpenBSD
+* macOS
+* Windows x64
+
+as well as alternative architectures for the already supported image types 
(arm, ppc64le, s390x, sparc, etc).
+
+We know that Docker won't support most of these, but we should be able to at 
least expand the install scripts for all of these platforms (save Win x64).
+
+# Background 
+
+See: 
+* 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).
+for the origins of this work.
 
-You can also selectively launch a single box, for example with
-```bash
-vagrant up couchdb-jenkins-master
-```

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/TODO.md
----------------------------------------------------------------------
diff --git a/TODO.md b/TODO.md
new file mode 100644
index 0000000..941f860
--- /dev/null
+++ b/TODO.md
@@ -0,0 +1,3 @@
+# Things to get done
+
+* We can build vagrant images using the docker images: 
https://stackoverflow.com/questions/23436613/how-can-i-convert-a-docker-image-into-a-vagrant-virtualbox-box

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/Vagrantfile
----------------------------------------------------------------------
diff --git a/Vagrantfile b/Vagrantfile
deleted file mode 100644
index 0b542de..0000000
--- a/Vagrantfile
+++ /dev/null
@@ -1,65 +0,0 @@
-# -*- mode: ruby -*-
-# vi: set ft=ruby :
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-Vagrant.configure(2) do |config|
-
-  # How much memory does the master need to test the setup? How much do the
-  # workers need? I have no clue.
-  config.vm.provider "virtualbox" do |vb|
-    vb.memory = "1024"
-    # vb.gui = true # enable this to start vbox with GUI to debug problems on 
startup
-  end
-
-  # The base boxes also have the Vagrant ssh key copied into root's
-  # authorized_keys so we can ssh into the box via root. This way, there is no
-  # mention of the user vagrant in the Ansible scripts.
-  config.ssh.username = "root"
-
-  config.vm.define "couchdb-jenkins-master" do |node|
-    node.vm.box = "couchdb-ci-ubuntu-14.04"
-    node.vm.hostname = "master"
-    node.vm.network "forwarded_port", guest:   80, host: 10080
-    node.vm.network "forwarded_port", guest: 8080, host: 18080
-    node.vm.network "private_network", ip: "10.20.1.2"
-    node.vm.provision :hosts
-  end
-
-  config.vm.define "couchdb-ubuntu-14.04-worker" do |node|
-    node.vm.box = "couchdb-ci-ubuntu-14.04"
-    node.vm.hostname = "ubuntu1404"
-    node.vm.network "private_network", ip: "10.20.1.3"
-    node.vm.provision :hosts
-  end
-
-
-  # Workaround for "stdin: is not a tty error" -- make Vagrants ssh shell a
-  # non-login one. See 
https://github.com/mitchellh/vagrant/issues/1673#issuecomment-28288042
-  config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'"
-
-  config.vm.provision "ansible" do |ansible|
-    ansible.playbook = "ansible/site.yml"
-    ansible.groups = {
-      "jenkins-master" => ["couchdb-jenkins-master"],
-      "jenkins-workers" => ["couchdb-ubuntu-14.04-worker"],
-      "ubuntu-workers" => ["couchdb-ubuntu-14.04-worker"]
-    }
-  end
-
-end

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/centos-6-base.yml
----------------------------------------------------------------------
diff --git a/ansible/centos-6-base.yml b/ansible/centos-6-base.yml
deleted file mode 100644
index 8712a5e..0000000
--- a/ansible/centos-6-base.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- hosts: couchdb-ci-worker
-  vars:
-    autoconf_archive_package_name: 
"http://springdale.math.ias.edu/data/puias/computational/6/x86_64/autoconf-archive-2015.02.24-1.sdl6.noarch.rpm";
-  remote_user: root
-  roles:
-  - geerlingguy.repo-epel
-  - dependencies-centos
-  - common
-  - spidermonkey
-  - fakejsrpm

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/centos-6-erlang-18.3.yml
----------------------------------------------------------------------
diff --git a/ansible/centos-6-erlang-18.3.yml b/ansible/centos-6-erlang-18.3.yml
deleted file mode 100644
index eeb8777..0000000
--- a/ansible/centos-6-erlang-18.3.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- hosts: couchdb-ci-worker
-  vars:
-    erlang_package_name: 
"http://packages.erlang-solutions.com/site/esl/esl-erlang/FLAVOUR_1_general/esl-erlang_18.3-1~centos~6_amd64.rpm";
-  remote_user: root
-  roles:
-  - erlang-esl-centos

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/centos-6-erlang-default.yml
----------------------------------------------------------------------
diff --git a/ansible/centos-6-erlang-default.yml 
b/ansible/centos-6-erlang-default.yml
deleted file mode 100644
index 07bf3e1..0000000
--- a/ansible/centos-6-erlang-default.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- hosts: couchdb-ci-worker
-  remote_user: root
-  roles:
-  - erlang-default-centos

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/centos-7-base.yml
----------------------------------------------------------------------
diff --git a/ansible/centos-7-base.yml b/ansible/centos-7-base.yml
deleted file mode 100644
index a58864e..0000000
--- a/ansible/centos-7-base.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- hosts: couchdb-ci-worker
-  vars:
-    autoconf_archive_package_name: "autoconf-archive"
-  remote_user: root
-  roles:
-  - geerlingguy.repo-epel
-  - dependencies-centos
-  - common
-  - spidermonkey

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/centos-7-erlang-18.3.yml
----------------------------------------------------------------------
diff --git a/ansible/centos-7-erlang-18.3.yml b/ansible/centos-7-erlang-18.3.yml
deleted file mode 100644
index e45d70b..0000000
--- a/ansible/centos-7-erlang-18.3.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- hosts: couchdb-ci-worker
-  vars:
-    erlang_package_name: 
"http://packages.erlang-solutions.com/site/esl/esl-erlang/FLAVOUR_1_general/esl-erlang_18.3-1~centos~7_amd64.rpm";
-  remote_user: root
-  roles:
-  - erlang-esl-centos

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/centos-7-erlang-default.yml
----------------------------------------------------------------------
diff --git a/ansible/centos-7-erlang-default.yml 
b/ansible/centos-7-erlang-default.yml
deleted file mode 100644
index 07bf3e1..0000000
--- a/ansible/centos-7-erlang-default.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- hosts: couchdb-ci-worker
-  remote_user: root
-  roles:
-  - erlang-default-centos

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/debian-8-base.yml
----------------------------------------------------------------------
diff --git a/ansible/debian-8-base.yml b/ansible/debian-8-base.yml
deleted file mode 100644
index a5652f8..0000000
--- a/ansible/debian-8-base.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- hosts: couchdb-ci-worker
-  remote_user: root
-  roles:
-  - debian-8
-  - { role: nodesource.node, nodejs_version: '6.x' }
-  - dependencies-debian
-  - lintian-debian
-  - common
-  - spidermonkey

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/debian-8-erlang-18.3.yml
----------------------------------------------------------------------
diff --git a/ansible/debian-8-erlang-18.3.yml b/ansible/debian-8-erlang-18.3.yml
deleted file mode 100644
index 618464f..0000000
--- a/ansible/debian-8-erlang-18.3.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- hosts: couchdb-ci-worker
-  vars:
-    erlang_solutions_pkg_ver: "1:18.3-1"
-  remote_user: root
-  roles:
-  - debian-8
-  - erlang-esl-debian-pkgs

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/debian-8-erlang-default.yml
----------------------------------------------------------------------
diff --git a/ansible/debian-8-erlang-default.yml 
b/ansible/debian-8-erlang-default.yml
deleted file mode 100644
index 1b0b0a7..0000000
--- a/ansible/debian-8-erlang-default.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- hosts: couchdb-ci-worker
-  remote_user: root
-  roles:
-  - debian-8
-  - erlang-default-debian

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/debian-9-base.yml
----------------------------------------------------------------------
diff --git a/ansible/debian-9-base.yml b/ansible/debian-9-base.yml
deleted file mode 100644
index 9d96747..0000000
--- a/ansible/debian-9-base.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- hosts: couchdb-ci-worker
-  remote_user: root
-  roles:
-  - debian-9
-  - { role: nodesource.node, nodejs_version: '6.x' }
-  - dependencies-debian
-  - lintian-debian
-  - common
-  - spidermonkey

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/debian-9-erlang-18.3.yml
----------------------------------------------------------------------
diff --git a/ansible/debian-9-erlang-18.3.yml b/ansible/debian-9-erlang-18.3.yml
deleted file mode 100644
index fee0bea..0000000
--- a/ansible/debian-9-erlang-18.3.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- hosts: couchdb-ci-worker
-  vars:
-    erlang_solutions_pkg_ver: "1:18.3.4.5"
-  remote_user: root
-  roles:
-  - debian-9
-  - erlang-esl-debian-omnibus

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/debian-9-erlang-default.yml
----------------------------------------------------------------------
diff --git a/ansible/debian-9-erlang-default.yml 
b/ansible/debian-9-erlang-default.yml
deleted file mode 100644
index 8b6c4bf..0000000
--- a/ansible/debian-9-erlang-default.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- hosts: couchdb-ci-worker
-  remote_user: root
-  roles:
-  - debian-9
-  - erlang-default-debian

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/inventory/couchdb-ci-worker
----------------------------------------------------------------------
diff --git a/ansible/inventory/couchdb-ci-worker 
b/ansible/inventory/couchdb-ci-worker
deleted file mode 100644
index c89e629..0000000
--- a/ansible/inventory/couchdb-ci-worker
+++ /dev/null
@@ -1,19 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-[couchdb-ci-worker]
-localhost

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/readme.markdown
----------------------------------------------------------------------
diff --git a/ansible/readme.markdown b/ansible/readme.markdown
deleted file mode 100644
index c0cd6fb..0000000
--- a/ansible/readme.markdown
+++ /dev/null
@@ -1,17 +0,0 @@
-Ansible Configuration for the CouchDB CI Setup
-==============================================
-
-This folder contains the Ansible scripts to provision the various servers used 
in the CouchDB CI setup.
-
-## Prerequesites
-
-You need to have [Ansible](http://www.ansible.com/home) installed.
-
-When Ansible is installed, you need to install an additional Ansible role:
-```bash
-[sudo] ansible-galaxy install geerlingguy.ntp
-```
-
-## Launching and Provisioning the Boxes
-
-TODO

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/common/files/build-ci.sh
----------------------------------------------------------------------
diff --git a/ansible/roles/common/files/build-ci.sh 
b/ansible/roles/common/files/build-ci.sh
deleted file mode 100755
index 793e187..0000000
--- a/ansible/roles/common/files/build-ci.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env bash
-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-set +e
-
-# create a distribution tarball from the requested git branch
-cd /usr/src/couchdb-checkout
-git reset --hard
-git clean -ffdx
-git pull
-git checkout $GIT_BRANCH
-./configure --with-curl
-make dist
-
-# use the created tarball to build CouchDB and run tests
-cp apache-couchdb-*.tar.gz /usr/src/couchdb
-
-cd /usr/src/couchdb
-tar -xf apache-couchdb-*.tar.gz
-cd apache-couchdb-*
-./configure --with-curl
-make all
-make check
-if [ $? -ne 0 ]; then
-  /usr/src/couchdb-checkout/build-aux/logfile-uploader.py
-  exit 1
-fi

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/common/files/build.sudoers
----------------------------------------------------------------------
diff --git a/ansible/roles/common/files/build.sudoers 
b/ansible/roles/common/files/build.sudoers
deleted file mode 100644
index 89a4eb3..0000000
--- a/ansible/roles/common/files/build.sudoers
+++ /dev/null
@@ -1 +0,0 @@
-build ALL=(ALL) NOPASSWD: ALL

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/common/tasks/couchdb.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/common/tasks/couchdb.yml 
b/ansible/roles/common/tasks/couchdb.yml
deleted file mode 100644
index bf2bacf..0000000
--- a/ansible/roles/common/tasks/couchdb.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- name: create build group
-  group:
-    name: build
-    state: present
-
-- name: create build user
-  user:
-    name: build
-    createhome: yes
-    group: build
-    state: present
-
-- name: install grunt-cli
-  npm:
-    name: grunt-cli
-    global: yes
-    state: present
-
-- name: get CouchDB sources from git
-  git:
-    repo: https://github.com/apache/couchdb.git
-    dest: /usr/src/couchdb-checkout
-    accept_hostkey: yes
-    force: yes
-
-- name: set permissions on couchdb build
-  file:
-    path: /usr/src/couchdb-checkout
-    state: directory
-    owner: build
-    group: build
-    recurse: yes
-
-# 1) `make dist` will be run in /usr/src/couchdb-checkout (this is directly
-#     pulled from git
-# 2) the resulting tarball will be extracted to /usr/src/couchdb, where
-#    `make all check` is run.
-- name: create directory for make check all
-  file:
-    path: /usr/src/couchdb
-    state: directory
-    owner: build
-    group: build
-
-- name: copy build script
-  copy:
-    src: build-ci.sh
-    dest: /home/build/build-ci.sh
-    owner: build
-    group: build
-    mode: 0755

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/common/tasks/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/common/tasks/main.yml 
b/ansible/roles/common/tasks/main.yml
deleted file mode 100644
index a210471..0000000
--- a/ansible/roles/common/tasks/main.yml
+++ /dev/null
@@ -1,43 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- include: couchdb.yml
-
-- name: copy build sudoers file
-  copy:
-    src: build.sudoers
-    dest: /etc/sudoers.d/build
-    owner: root
-    group: root
-    mode: 0440
-
-# uid/gid here came from ASF Infra
-- name: create jenkins group
-  group:
-    name: jenkins
-    gid: 12036
-    state: present
-
-- name: create jenkins user
-  user:
-    name: jenkins
-    comment: "Jenkins user"
-    uid: 10025
-    group: jenkins
-    createhome: yes
-    state: present
-

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/debian-8/tasks/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/debian-8/tasks/main.yml 
b/ansible/roles/debian-8/tasks/main.yml
deleted file mode 100644
index 3637c90..0000000
--- a/ansible/roles/debian-8/tasks/main.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-# dependencies for making Debian/RPM repositories
-- name: install packages required to build Debian/RPM repositories
-  apt: name={{item}} state=present install_recommends=no
-  with_items:
-  - reprepro
-  - createrepo
-

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/debian-8/vars/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/debian-8/vars/main.yml 
b/ansible/roles/debian-8/vars/main.yml
deleted file mode 100644
index 208d665..0000000
--- a/ansible/roles/debian-8/vars/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-erlang_solutions_key_url: 
http://packages.erlang-solutions.com/debian/erlang_solutions.asc
-erlang_solutions_apt_repo_url: deb http://packages.erlang-solutions.com/debian 
jessie contrib

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/debian-9/tasks/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/debian-9/tasks/main.yml 
b/ansible/roles/debian-9/tasks/main.yml
deleted file mode 100644
index 3637c90..0000000
--- a/ansible/roles/debian-9/tasks/main.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-# dependencies for making Debian/RPM repositories
-- name: install packages required to build Debian/RPM repositories
-  apt: name={{item}} state=present install_recommends=no
-  with_items:
-  - reprepro
-  - createrepo
-

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/debian-9/vars/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/debian-9/vars/main.yml 
b/ansible/roles/debian-9/vars/main.yml
deleted file mode 100644
index e541907..0000000
--- a/ansible/roles/debian-9/vars/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-erlang_solutions_key_url: 
http://packages.erlang-solutions.com/debian/erlang_solutions.asc
-erlang_solutions_apt_repo_url: deb http://packages.erlang-solutions.com/debian 
stretch contrib

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/dependencies-centos/files/texlive.profile
----------------------------------------------------------------------
diff --git a/ansible/roles/dependencies-centos/files/texlive.profile 
b/ansible/roles/dependencies-centos/files/texlive.profile
deleted file mode 100644
index d0b6cf5..0000000
--- a/ansible/roles/dependencies-centos/files/texlive.profile
+++ /dev/null
@@ -1,45 +0,0 @@
-# texlive.profile written on Sun Feb  7 16:57:48 2016 UTC
-# It will NOT be updated and reflects only the
-# installation profile at installation time.
-selected_scheme scheme-custom
-TEXDIR /usr/local/texlive/2015
-TEXMFCONFIG ~/.texlive2015/texmf-config
-TEXMFHOME ~/texmf
-TEXMFLOCAL /usr/local/texlive/texmf-local
-TEXMFSYSCONFIG /usr/local/texlive/2015/texmf-config
-TEXMFSYSVAR /usr/local/texlive/2015/texmf-var
-TEXMFVAR ~/.texlive2015/texmf-var
-binary_x86_64-linux 1
-collection-basic 1
-collection-binextra 1
-collection-context 1
-collection-fontsrecommended 1
-collection-fontutils 1
-collection-genericrecommended 1
-collection-langenglish 1
-collection-latex 1
-collection-latexrecommended 1
-collection-luatex 1
-collection-mathextra 1
-collection-metapost 1
-collection-plainextra 1
-collection-xetex 1
-in_place 0
-option_adjustrepo 1
-option_autobackup 1
-option_backupdir tlpkg/backups
-option_desktop_integration 1
-option_doc 1
-option_file_assocs 1
-option_fmt 1
-option_letter 0
-option_menu_integration 1
-option_path 1
-option_post_code 1
-option_src 1
-option_sys_bin /usr/local/bin
-option_sys_info /usr/local/info
-option_sys_man /usr/local/man
-option_w32_multi_user 1
-option_write18_restricted 1
-portable 0

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/dependencies-centos/tasks/latex.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/dependencies-centos/tasks/latex.yml 
b/ansible/roles/dependencies-centos/tasks/latex.yml
deleted file mode 100644
index 7563353..0000000
--- a/ansible/roles/dependencies-centos/tasks/latex.yml
+++ /dev/null
@@ -1,49 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- name: download TeX Live installer
-  get_url:
-    url: http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
-    dest: /tmp/install-tl-unx.tar.gz
-- name: copy TeX Live installer profile
-  copy:
-    src: texlive.profile
-    dest: /tmp/texlive.profile
-- name: unpack TeX Live installer
-  unarchive:
-    src: /tmp/install-tl-unx.tar.gz
-    dest: /tmp
-    copy: no
-- name: remove TeX Live installer
-  file:
-    path: /tmp/install-tl-unx.tar.gz
-    state: absent
-- name: determine extracted installer path
-  shell: ls -d /tmp/install-tl-*
-  register: dir_name
-- name: install TeX Live via net installer
-  command: "{{ item }}/install-tl --profile=/tmp/texlive.profile chdir={{ item 
}}"
-  with_items: "{{ dir_name.stdout_lines }}"
-- name: install additional TeX packages
-  command: tlmgr install capt-of environ eqparbox fncychap framed multirow 
needspace tabulary threeparttable titlesec trimspaces upquote wrapfig
-
-# remove docs dir - this has no benefit for our use case and makes the
-# container 500 MB bigger
-- name: delete LaTeX docs
-  file:
-    path: /usr/local/texlive/2015/texmf-dist/doc
-    state: absent

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/dependencies-centos/tasks/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/dependencies-centos/tasks/main.yml 
b/ansible/roles/dependencies-centos/tasks/main.yml
deleted file mode 100644
index 6dd8e81..0000000
--- a/ansible/roles/dependencies-centos/tasks/main.yml
+++ /dev/null
@@ -1,121 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- name: upgrade all packages
-  yum:
-    name: '*'
-    state: latest
-
-- name: install auxiliary packages
-  yum: name={{item}} state=present update_cache=yes
-  with_items:
-  - "@Development tools"
-  - git
-  - sudo
-  - wget
-  - which
-
-# dependencies for make couch, except erlang
-- name: install packages required to build CouchDB
-  yum: name={{item}} state=present
-  with_items:
-  - autoconf
-  - autoconf213
-  - automake
-  - curl-devel
-  - libicu-devel
-  - libtool
-  - ncurses-devel
-  - nspr-devel
-  - zip
-
-# special case since autoconf-archive on CentOS 6 is not in EPEL
-- name: install autoconf-archive
-  yum:
-    name: "{{ autoconf_archive_package_name }}"
-
-- name: download nodejs 6.x repo setup script
-  command: "wget https://rpm.nodesource.com/setup_6.x";
-  args:
-    chdir: /tmp
-    
-- name: setup nodejs 6.x repo
-  command: /bin/bash /tmp/setup_6.x
-
-- name: install nodejs and npm
-  yum:
-    name: nodejs
-    state: present
-
-# download and install shunit2
-- include: shunit.yml
-
-# required for make docs
-- name: install packages required to build CouchDB docs
-  yum:
-    name: help2man
-    state: present
-
-- name: install system-wide pip on CentOS >= 7
-  when: ansible_distribution == 'CentOS' and 
ansible_distribution_major_version > '6'
-  yum:
-    name: python-pip
-    state: present
-
-# CentOS 6 needs a new python
-- name: install Python 3.4 for CentOS 6
-  when: ansible_distribution == 'CentOS' and 
ansible_distribution_major_version == '6'
-  yum:
-    name: python34
-    state: present
-
-# Symlink it to override system python
-- name: Symlink /usr/bin/python3.4 to /usr/local/bin/python
-  when: ansible_distribution == 'CentOS' and 
ansible_distribution_major_version == '6'
-  command: ln -s /usr/bin/python3.4 /usr/local/bin/python
-
-- name: retrieve pip installer for Python 3.4
-  when: ansible_distribution == 'CentOS' and 
ansible_distribution_major_version == '6'
-  command: "wget https://bootstrap.pypa.io/get-pip.py";
-  args:
-    chdir: /tmp
-
-- name: install pip for Python 3.4
-  when: ansible_distribution == 'CentOS' and 
ansible_distribution_major_version == '6'
-  command: "/usr/bin/python3.4 /tmp/get-pip.py"
-
-- name: install up to date version of various packages via pip
-  shell: pip install docutils==0.13.1 sphinx==1.5.3 sphinx_rtd_theme nose 
requests hypothesis
-
-- name: dependencies for packages
-  yum: name={{item}} state=present
-  with_items:
-  - createrepo
-  - xfsprogs-devel
-  - rpmdevtools
-
-- name: dependencies for JS packages (CentOS 6 only)
-  when: ansible_distribution == 'CentOS' and 
ansible_distribution_major_version == '6'
-  yum: name={{item}} state=present
-  with_items:
-  - ncurses-devel
-  - autoconf213
-  - nspr-devel
-  - readline-devel
-
-- name: clean up yum cache
-  command: yum clean all

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/dependencies-centos/tasks/shunit.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/dependencies-centos/tasks/shunit.yml 
b/ansible/roles/dependencies-centos/tasks/shunit.yml
deleted file mode 100644
index 93f8cb7..0000000
--- a/ansible/roles/dependencies-centos/tasks/shunit.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- name: download shunit2
-  get_url:
-    url: 
"https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/shunit2/shunit2-2.1.6.tgz";
-    dest: /tmp/shunit2-2.1.6.tgz
-- name: unpack shunit2
-  unarchive:
-    src: /tmp/shunit2-2.1.6.tgz
-    dest: /opt
-    copy: no
-- name: link shunit2 script into PATH
-  file:
-    path: /usr/bin/shunit2
-    src: /opt/shunit2-2.1.6/src/shunit2
-    state: link

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/dependencies-debian/files/libmozjs185-fake
----------------------------------------------------------------------
diff --git a/ansible/roles/dependencies-debian/files/libmozjs185-fake 
b/ansible/roles/dependencies-debian/files/libmozjs185-fake
deleted file mode 100644
index b5b1c77..0000000
--- a/ansible/roles/dependencies-debian/files/libmozjs185-fake
+++ /dev/null
@@ -1,7 +0,0 @@
-Section: misc
-Priority: optional
-Standards-Version: 3.9.2
-
-Package: libmozjs185-fake
-Provides: libmozjs185-dev, libmozjs185-1.0
-Description: Fake libmozjs185 packages for builds

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/dependencies-debian/tasks/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/dependencies-debian/tasks/main.yml 
b/ansible/roles/dependencies-debian/tasks/main.yml
deleted file mode 100644
index a945407..0000000
--- a/ansible/roles/dependencies-debian/tasks/main.yml
+++ /dev/null
@@ -1,110 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-# apt-get update
-- name: update apt cache
-  apt:
-    update_cache: yes
-
-- name: Update all packages to the latest version
-  apt:
-    upgrade: dist
-
-- name: install auxiliary packages
-  apt: name={{item}} state=present
-  with_items:
-  - apt-transport-https
-  - curl
-  - git
-  - pkg-config
-  - python
-  - python-pip
-  - python-requests
-  - sudo
-  - zip
-
-# dependencies for make couch, except erlang
-- name: install packages required to build CouchDB
-  apt: name={{item}} state=present install_recommends=no
-  with_items:
-  - build-essential
-  - ca-certificates
-  - libcurl4-openssl-dev
-  - libicu-dev
-  - libnspr4-dev
-  - shunit2
-
-# required for make docs
-- name: install packages required to build CouchDB docs
-  apt: name={{item}} state=present install_recommends=no
-  with_items:
-  - help2man
-  - python-sphinx
-
-# Fix broken sphinx on ubuntu 12.04 only
-# Hack, but prevents needing a unique debian/ dir for this dist
-- name: install up to date version of sphinx via pip
-  shell: pip install docutils==0.13.1 sphinx==1.5.3
-  when: ansible_distribution == "Ubuntu" and ansible_distribution_version == 
"12.04"
-
-# Install Sphinx RTD theme and Mango test dependencies
-- name: install Sphinx documentation theme and Mango test dependencies
-  shell: pip install sphinx_rtd_theme  nose requests hypothesis
-
-# dependencies for Debian/Ubuntu package building
-- name: install packages required to build Debian pkgs
-  apt: name={{item}} state=present install_recommends=no
-  with_items:
-  - curl
-  - debhelper
-  - dh-exec
-  - devscripts
-  - dialog
-  - lintian
-  - libwww-perl
-  - devscripts
-  - quilt
-  - equivs
-
-# Hooray deMorgan's theorem
-- name: install dh-systemd package, if available
-  apt: name=dh-systemd state=present install_recommends=no
-  when: ansible_distribution != "Ubuntu" or ansible_distribution_version != 
"12.04"
-
-# convenience packages for interactive work
-- name: install convenience packages 
-  apt: name={{item}} state=present install_recommends=no
-  with_items:
-  - vim-tiny
-  - screen
-
-# install libmozjs185-equivs file
-- name: install libmozjs185-equivs file
-  copy:
-    src: libmozjs185-fake
-    dest: /tmp/libmozjs185-fake
-    owner: root
-    group: root
-    mode: 0755
-
-# build and install fake libmozjs185 packages
-- name: install fake libmozjs185 packages
-  shell: |
-    cd /tmp
-    equivs-build libmozjs185-fake
-    dpkg -i libmozjs185-fake_1.0_all.deb
-    rm libmozjs185*

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/erlang-default-centos/tasks/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/erlang-default-centos/tasks/main.yml 
b/ansible/roles/erlang-default-centos/tasks/main.yml
deleted file mode 100644
index 056f302..0000000
--- a/ansible/roles/erlang-default-centos/tasks/main.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- name: install default Erlang version
-  yum: name={{item}} state=present
-  with_items:
-  - erlang
-
-- name: clean up yum cache
-  command: yum clean all

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/erlang-default-debian/tasks/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/erlang-default-debian/tasks/main.yml 
b/ansible/roles/erlang-default-debian/tasks/main.yml
deleted file mode 100644
index 3902b4b..0000000
--- a/ansible/roles/erlang-default-debian/tasks/main.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- name: install default Erlang version
-  apt: name={{item}} state=present install_recommends=no
-  with_items:
-  - erlang-dev
-  - erlang-nox
-  - erlang
-
-# required for make check and make dialyze
-- name: install packages required to build CouchDB
-  apt: name={{item}} state=present install_recommends=no
-  with_items:
-  - erlang-eunit
-  - erlang-dialyzer

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/erlang-esl-centos/tasks/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/erlang-esl-centos/tasks/main.yml 
b/ansible/roles/erlang-esl-centos/tasks/main.yml
deleted file mode 100644
index a4a5e19..0000000
--- a/ansible/roles/erlang-esl-centos/tasks/main.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- name: download and install Erlang 18.3
-  yum:
-    name: "{{ erlang_package_name }}"
-
-- name: clean up yum cache
-  command: yum clean all

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/erlang-esl-debian-omnibus/meta/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/erlang-esl-debian-omnibus/meta/main.yml 
b/ansible/roles/erlang-esl-debian-omnibus/meta/main.yml
deleted file mode 100644
index 9dd38b3..0000000
--- a/ansible/roles/erlang-esl-debian-omnibus/meta/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-dependencies:
-  - { role: erlang-esl-debian }

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/erlang-esl-debian-omnibus/vars/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/erlang-esl-debian-omnibus/vars/main.yml 
b/ansible/roles/erlang-esl-debian-omnibus/vars/main.yml
deleted file mode 100644
index fd5574a..0000000
--- a/ansible/roles/erlang-esl-debian-omnibus/vars/main.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-erlang_solutions_pkg_list:
-  - esl-erlang
-

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/erlang-esl-debian-pkgs/meta/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/erlang-esl-debian-pkgs/meta/main.yml 
b/ansible/roles/erlang-esl-debian-pkgs/meta/main.yml
deleted file mode 100644
index 9dd38b3..0000000
--- a/ansible/roles/erlang-esl-debian-pkgs/meta/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-dependencies:
-  - { role: erlang-esl-debian }

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/erlang-esl-debian-pkgs/vars/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/erlang-esl-debian-pkgs/vars/main.yml 
b/ansible/roles/erlang-esl-debian-pkgs/vars/main.yml
deleted file mode 100644
index c28a09a..0000000
--- a/ansible/roles/erlang-esl-debian-pkgs/vars/main.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-erlang_solutions_pkg_list:
-  - erlang-dev
-  - erlang-nox
-  - erlang-base
-  - erlang-asn1
-  - erlang-corba
-  - erlang-crypto
-  - erlang-diameter
-  - erlang-edoc
-  - erlang-eldap
-  - erlang-erl-docgen
-  - erlang-eunit
-  - erlang-ic
-  - erlang-inets
-  - erlang-inviso
-  - erlang-mnesia
-  - erlang-odbc
-  - erlang-os-mon
-  - erlang-parsetools
-  - erlang-percept
-  - erlang-public-key
-  - erlang-runtime-tools
-  - erlang-snmp
-  - erlang-ssh
-  - erlang-ssl
-  - erlang-syntax-tools
-  - erlang-tools
-  - erlang-webtool
-  - erlang-xmerl
-  - erlang-eunit
-  - erlang-dialyzer
-  - erlang-reltool
-  - erlang-wx

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/erlang-esl-debian/tasks/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/erlang-esl-debian/tasks/main.yml 
b/ansible/roles/erlang-esl-debian/tasks/main.yml
deleted file mode 100644
index 5e593a8..0000000
--- a/ansible/roles/erlang-esl-debian/tasks/main.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-#   under the License.
-
-- name: import the Erlang Solutions key into apt
-  apt_key:
-    url: "{{ erlang_solutions_key_url }}"
-    state: present
-    # validate_certs: no
-
-- name: add Erlang Solutions deb repository
-  apt_repository:
-    repo: "{{ erlang_solutions_apt_repo_url }}"
-    state: present
-
-# apt-get update
-- name: update apt cache
-  apt:
-    update_cache: yes
-
-- name: install requested Erlang version
-  apt: name="{{item}}={{ erlang_solutions_pkg_ver }}" state=present 
install_recommends=no
-  with_items: "{{ erlang_solutions_pkg_list }}"

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/fakejsrpm/files/js-1.8.5.spec
----------------------------------------------------------------------
diff --git a/ansible/roles/fakejsrpm/files/js-1.8.5.spec 
b/ansible/roles/fakejsrpm/files/js-1.8.5.spec
deleted file mode 100644
index 6ab37de..0000000
--- a/ansible/roles/fakejsrpm/files/js-1.8.5.spec
+++ /dev/null
@@ -1,20 +0,0 @@
-Name: js
-Version: 1.8.5
-Release: 7
-Summary: Fake JavaScript package
-Group: Development/Languages
-License: GPLv2+ or LGPLv2+ or MPLv1.1
-BuildArch: noarch
-
-%description
-Fake JavaScript package
-
-%prep
-
-%build
-
-%install
-
-%files
-
-%changelog

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/fakejsrpm/tasks/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/fakejsrpm/tasks/main.yml 
b/ansible/roles/fakejsrpm/tasks/main.yml
deleted file mode 100644
index d50a5b5..0000000
--- a/ansible/roles/fakejsrpm/tasks/main.yml
+++ /dev/null
@@ -1,16 +0,0 @@
-# install fake specfile
-- name: install fake specfile
-  copy:
-    src: js-1.8.5.spec
-    dest: /tmp/js-1.8.5.spec
-    owner: root
-    group: root
-    mode: 0755
-
-# build and install fake js-1.8.5 package
-- name: install fake js-1.8.5 package
-  shell: |
-    cd /tmp
-    rpmbuild -ba js-1.8.5.spec
-    rpm -Uvh /root/rpmbuild/RPMS/noarch/js-1.8.5-7.noarch.rpm
-    rm -rf /root/rpmbuild

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/lintian-debian/files/main.profile
----------------------------------------------------------------------
diff --git a/ansible/roles/lintian-debian/files/main.profile 
b/ansible/roles/lintian-debian/files/main.profile
deleted file mode 100644
index 4a7788c..0000000
--- a/ansible/roles/lintian-debian/files/main.profile
+++ /dev/null
@@ -1,3 +0,0 @@
-Profile: couchdb/main
-Extends: debian/main
-Disable-Tags: dir-or-file-in-opt, source-is-missing, 
non-etc-file-marked-as-conffile, embedded-library, duplicate-font-file, 
embedded-javascript-library

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/lintian-debian/meta/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/lintian-debian/meta/main.yml 
b/ansible/roles/lintian-debian/meta/main.yml
deleted file mode 100644
index 6b4fff8..0000000
--- a/ansible/roles/lintian-debian/meta/main.yml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-dependencies:
-  - { role: common }

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/lintian-debian/tasks/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/lintian-debian/tasks/main.yml 
b/ansible/roles/lintian-debian/tasks/main.yml
deleted file mode 100644
index 07da606..0000000
--- a/ansible/roles/lintian-debian/tasks/main.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-# Licensed under the Apache License, Version 2.0 (the "License"); you may not
-# use this file except in compliance with the License. You may obtain a copy of
-# the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations under
-# the License.
-
-- name: make lintian vendor directory
-  file:
-    path: /usr/share/lintian/profiles/couchdb
-    state: directory
-    owner: root
-    group: root
-    mode: 0755
-    recurse: yes
-
-- name: copy lintian vendor profile
-  copy:
-    src: main.profile
-    dest: /usr/share/lintian/profiles/couchdb/main.profile
-    owner: root
-    group: root
-    mode: 0644

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/lintian-ubuntu/files/main.profile
----------------------------------------------------------------------
diff --git a/ansible/roles/lintian-ubuntu/files/main.profile 
b/ansible/roles/lintian-ubuntu/files/main.profile
deleted file mode 100644
index b4520cb..0000000
--- a/ansible/roles/lintian-ubuntu/files/main.profile
+++ /dev/null
@@ -1,3 +0,0 @@
-Profile: couchdb/main
-Extends: ubuntu/main
-Disable-Tags: dir-or-file-in-opt, source-is-missing, 
non-etc-file-marked-as-conffile

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/lintian-ubuntu/meta/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/lintian-ubuntu/meta/main.yml 
b/ansible/roles/lintian-ubuntu/meta/main.yml
deleted file mode 100644
index 6b4fff8..0000000
--- a/ansible/roles/lintian-ubuntu/meta/main.yml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-dependencies:
-  - { role: common }

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/lintian-ubuntu/tasks/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/lintian-ubuntu/tasks/main.yml 
b/ansible/roles/lintian-ubuntu/tasks/main.yml
deleted file mode 100644
index 07da606..0000000
--- a/ansible/roles/lintian-ubuntu/tasks/main.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-# Licensed under the Apache License, Version 2.0 (the "License"); you may not
-# use this file except in compliance with the License. You may obtain a copy of
-# the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations under
-# the License.
-
-- name: make lintian vendor directory
-  file:
-    path: /usr/share/lintian/profiles/couchdb
-    state: directory
-    owner: root
-    group: root
-    mode: 0755
-    recurse: yes
-
-- name: copy lintian vendor profile
-  copy:
-    src: main.profile
-    dest: /usr/share/lintian/profiles/couchdb/main.profile
-    owner: root
-    group: root
-    mode: 0644

http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/c468e27a/ansible/roles/spidermonkey/files/fix-811665.patch
----------------------------------------------------------------------
diff --git a/ansible/roles/spidermonkey/files/fix-811665.patch 
b/ansible/roles/spidermonkey/files/fix-811665.patch
deleted file mode 100644
index a3e06d8..0000000
--- a/ansible/roles/spidermonkey/files/fix-811665.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-Description: Fix FTBFS with gcc6
- Most fixes are returning NULL instead of false and a narrowing issues.
-Author: Tobias Frost <t...@debian.org>
-Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811665
-Last-Update: 2016-09-25
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/js/src/ctypes/CTypes.cpp
-+++ b/js/src/ctypes/CTypes.cpp
-@@ -4753,7 +4753,7 @@ NewFunctionInfo(JSContext* cx,
-   for (JSUint32 i = 0; i < argLength; ++i) {
-     bool isEllipsis;
-     if (!IsEllipsis(cx, argTypes[i], &isEllipsis))
--      return false;
-+      return NULL;
-     if (isEllipsis) {
-       fninfo->mIsVariadic = true;
-       if (i < 1) {
---- a/js/src/jsapi.cpp
-+++ b/js/src/jsapi.cpp
-@@ -3985,7 +3985,7 @@ JS_Enumerate(JSContext *cx, JSObject *ob
-     AutoIdVector props(cx);
-     JSIdArray *ida;
-     if (!GetPropertyNames(cx, obj, JSITER_OWNONLY, &props) || 
!VectorToIdArray(cx, props, &ida))
--        return false;
-+        return NULL;
-     for (size_t n = 0; n < size_t(ida->length); ++n)
-         JS_ASSERT(js_CheckForStringIndex(ida->vector[n]) == ida->vector[n]);
-     return ida;
---- a/js/src/jsfun.cpp
-+++ b/js/src/jsfun.cpp
-@@ -2051,7 +2051,7 @@ fun_toStringHelper(JSContext *cx, JSObje
- 
-     JSString *str = JS_DecompileFunction(cx, fun, indent);
-     if (!str)
--        return false;
-+        return NULL;
- 
-     if (!indent)
-         cx->compartment->toSourceCache.put(fun, str);
-@@ -2657,7 +2657,7 @@ LookupInterpretedFunctionPrototype(JSCon
-     const Shape *shape = funobj->nativeLookup(id);
-     if (!shape) {
-         if (!ResolveInterpretedFunctionPrototype(cx, funobj))
--            return false;
-+            return NULL;
-         shape = funobj->nativeLookup(id);
-     }
-     JS_ASSERT(!shape->configurable());
---- a/js/src/jsiter.cpp
-+++ b/js/src/jsiter.cpp
-@@ -425,7 +425,7 @@ NewIteratorObject(JSContext *cx, uintN f
-          */
-         JSObject *obj = js_NewGCObject(cx, FINALIZE_OBJECT0);
-         if (!obj)
--            return false;
-+            return NULL;
-         obj->init(cx, &js_IteratorClass, NULL, NULL, NULL, false);
-         obj->setMap(cx->compartment->emptyEnumeratorShape);
-         return obj;
---- a/js/src/jsparse.cpp
-+++ b/js/src/jsparse.cpp
-@@ -3352,7 +3352,7 @@ Parser::functionDef(JSAtom *funAtom, Fun
-     if (!outertc->inFunction() && bodyLevel && funAtom && !lambda && 
outertc->compiling()) {
-         JS_ASSERT(pn->pn_cookie.isFree());
-         if (!DefineGlobal(pn, outertc->asCodeGenerator(), funAtom))
--            return false;
-+            return NULL;
-     }
- 
-     pn->pn_blockid = outertc->blockid();
---- a/js/src/jsstr.cpp
-+++ b/js/src/jsstr.cpp
-@@ -1734,7 +1734,7 @@ class RegExpGuard
-         if (flat) {
-             patstr = flattenPattern(cx, fm.patstr);
-             if (!patstr)
--                return false;
-+                return NULL;
-         } else {
-             patstr = fm.patstr;
-         }
-@@ -3408,7 +3408,7 @@ js_InitStringClass(JSContext *cx, JSObje
-                                  UndefinedValue(), NULL, NULL,
-                                  JSPROP_READONLY | JSPROP_PERMANENT | 
JSPROP_SHARED, 0, 0,
-                                  NULL)) {
--        return JS_FALSE;
-+        return NULL;
-     }
- 
-     return proto;
---- a/js/src/jstypedarray.cpp
-+++ b/js/src/jstypedarray.cpp
-@@ -1334,7 +1334,7 @@ class TypedArrayTemplate
-         if (size != 0 && count >= INT32_MAX / size) {
-             JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL,
-                                  JSMSG_NEED_DIET, "size and count");
--            return false;
-+            return NULL;
-         }
- 
-         int32 bytelen = size * count;
-@@ -1668,7 +1668,7 @@ TypedArrayConstruct(JSContext *cx, jsint
- 
-       default:
-         JS_NOT_REACHED("shouldn't have gotten here");
--        return false;
-+        return NULL;
-     }
- }
- 
---- a/js/src/jsxml.cpp
-+++ b/js/src/jsxml.cpp
-@@ -282,7 +282,7 @@ NewXMLNamespace(JSContext *cx, JSLinearS
- 
-     obj = NewBuiltinClassInstanceXML(cx, &js_NamespaceClass);
-     if (!obj)
--        return JS_FALSE;
-+        return NULL;
-     JS_ASSERT(JSVAL_IS_VOID(obj->getNamePrefixVal()));
-     JS_ASSERT(JSVAL_IS_VOID(obj->getNameURIVal()));
-     JS_ASSERT(JSVAL_IS_VOID(obj->getNamespaceDeclared()));
-@@ -431,7 +431,7 @@ ConvertQNameToString(JSContext *cx, JSOb
-         size_t length = str->length();
-         jschar *chars = (jschar *) cx->malloc((length + 2) * sizeof(jschar));
-         if (!chars)
--            return JS_FALSE;
-+            return NULL;
-         *chars = '@';
-         const jschar *strChars = str->getChars(cx);
-         if (!strChars) {
---- a/js/src/methodjit/InvokeHelpers.cpp
-+++ b/js/src/methodjit/InvokeHelpers.cpp
-@@ -728,7 +728,7 @@ AtSafePoint(JSContext *cx)
- {
-     JSStackFrame *fp = cx->fp();
-     if (fp->hasImacropc())
--        return false;
-+        return NULL;
- 
-     JSScript *script = fp->script();
-     return script->maybeNativeCodeForPC(fp->isConstructing(), cx->regs->pc);
---- a/js/src/nanojit/NativeX64.cpp
-+++ b/js/src/nanojit/NativeX64.cpp
-@@ -1899,7 +1899,7 @@ namespace nanojit
-          }
-     }
- 
--    static const AVMPLUS_ALIGN16(int64_t) negateMask[] = 
{0x8000000000000000LL,0};
-+    static const AVMPLUS_ALIGN16(int64_t) negateMask[] = {(int64_t) 
0x8000000000000000ULL,0};
- 
-     void Assembler::asm_fneg(LIns *ins) {
-         Register rr, ra;

Reply via email to