Support Ubuntu 12.04 (Erlang 18.3 only)
Project: http://git-wip-us.apache.org/repos/asf/couchdb-ci/repo Commit: http://git-wip-us.apache.org/repos/asf/couchdb-ci/commit/a074a684 Tree: http://git-wip-us.apache.org/repos/asf/couchdb-ci/tree/a074a684 Diff: http://git-wip-us.apache.org/repos/asf/couchdb-ci/diff/a074a684 Branch: refs/heads/master Commit: a074a68423b3ac52e8a2288753924da852716315 Parents: 5c4edb2 Author: Joan Touzet <[email protected]> Authored: Wed Mar 22 23:19:29 2017 -0700 Committer: Joan Touzet <[email protected]> Committed: Wed Mar 22 23:28:59 2017 -0700 ---------------------------------------------------------------------- ansible/roles/ubuntu-1204/vars/main.yml | 2 ++ ansible/ubuntu-12.04-base.yml | 24 ++++++++++++++ ansible/ubuntu-12.04-erlang-18.3.yml | 24 ++++++++++++++ ansible/ubuntu-12.04-erlang-default.yml | 22 +++++++++++++ bin/centos-6-erlang-default/create-container.sh | 28 ---------------- bin/centos-6-erlang-default/enter-container.sh | 20 ------------ .../publish-container.sh | 20 ------------ .../run-build-in-container.sh | 24 -------------- 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 ++++++++++++++ dockerfiles/ubuntu-12.04-base | 33 +++++++++++++++++++ dockerfiles/ubuntu-12.04-erlang-18.3 | 34 ++++++++++++++++++++ dockerfiles/ubuntu-12.04-erlang-default | 34 ++++++++++++++++++++ jenkins/build.sh | 23 +++++++++++++ readme.markdown | 7 ++-- 20 files changed, 360 insertions(+), 95 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/a074a684/ansible/roles/ubuntu-1204/vars/main.yml ---------------------------------------------------------------------- diff --git a/ansible/roles/ubuntu-1204/vars/main.yml b/ansible/roles/ubuntu-1204/vars/main.yml new file mode 100644 index 0000000..268c9d0 --- /dev/null +++ b/ansible/roles/ubuntu-1204/vars/main.yml @@ -0,0 +1,2 @@ +erlang_solutions_key_url: http://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc +erlang_solutions_apt_repo_url: deb http://packages.erlang-solutions.com/ubuntu precise contrib http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/a074a684/ansible/ubuntu-12.04-base.yml ---------------------------------------------------------------------- diff --git a/ansible/ubuntu-12.04-base.yml b/ansible/ubuntu-12.04-base.yml new file mode 100644 index 0000000..8dda83d --- /dev/null +++ b/ansible/ubuntu-12.04-base.yml @@ -0,0 +1,24 @@ +# 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: + - ubuntu-1204 + - { role: nodesource.node, nodejs_version: '6.x' } + - dependencies-debian + - common http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/a074a684/ansible/ubuntu-12.04-erlang-18.3.yml ---------------------------------------------------------------------- diff --git a/ansible/ubuntu-12.04-erlang-18.3.yml b/ansible/ubuntu-12.04-erlang-18.3.yml new file mode 100644 index 0000000..7faf645 --- /dev/null +++ b/ansible/ubuntu-12.04-erlang-18.3.yml @@ -0,0 +1,24 @@ +# 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: + - ubuntu-1204 + - erlang-esl-debian-pkgs http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/a074a684/ansible/ubuntu-12.04-erlang-default.yml ---------------------------------------------------------------------- diff --git a/ansible/ubuntu-12.04-erlang-default.yml b/ansible/ubuntu-12.04-erlang-default.yml new file mode 100644 index 0000000..f792d31 --- /dev/null +++ b/ansible/ubuntu-12.04-erlang-default.yml @@ -0,0 +1,22 @@ +# 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: + - ubuntu-1204 + - erlang-default-debian http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/a074a684/bin/centos-6-erlang-default/create-container.sh ---------------------------------------------------------------------- diff --git a/bin/centos-6-erlang-default/create-container.sh b/bin/centos-6-erlang-default/create-container.sh deleted file mode 100755 index f33b7ac..0000000 --- a/bin/centos-6-erlang-default/create-container.sh +++ /dev/null @@ -1,28 +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 - -# The Docker containers need the root directory of this repository as their -# build context (because they need the Ansible files). -pushd `dirname $0`/../.. > /dev/null - -docker build -f dockerfiles/centos-6-erlang-default -t couchdbdev/centos-6-erlang-default . - -popd > /dev/null http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/a074a684/bin/centos-6-erlang-default/enter-container.sh ---------------------------------------------------------------------- diff --git a/bin/centos-6-erlang-default/enter-container.sh b/bin/centos-6-erlang-default/enter-container.sh deleted file mode 100755 index 5cea955..0000000 --- a/bin/centos-6-erlang-default/enter-container.sh +++ /dev/null @@ -1,20 +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. - -docker run -it couchdbdev/centos-6-erlang-default bash http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/a074a684/bin/centos-6-erlang-default/publish-container.sh ---------------------------------------------------------------------- diff --git a/bin/centos-6-erlang-default/publish-container.sh b/bin/centos-6-erlang-default/publish-container.sh deleted file mode 100755 index b14c28b..0000000 --- a/bin/centos-6-erlang-default/publish-container.sh +++ /dev/null @@ -1,20 +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. - -docker push couchdbdev/centos-6-erlang-default http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/a074a684/bin/centos-6-erlang-default/run-build-in-container.sh ---------------------------------------------------------------------- diff --git a/bin/centos-6-erlang-default/run-build-in-container.sh b/bin/centos-6-erlang-default/run-build-in-container.sh deleted file mode 100755 index 840fd62..0000000 --- a/bin/centos-6-erlang-default/run-build-in-container.sh +++ /dev/null @@ -1,24 +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 -pushd $( dirname "$0" )/../.. -pwd -OS=centos-6 ERLANG=default jenkins/build.sh -popd http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/a074a684/bin/ubuntu-12.04-base/create-container.sh ---------------------------------------------------------------------- diff --git a/bin/ubuntu-12.04-base/create-container.sh b/bin/ubuntu-12.04-base/create-container.sh new file mode 100755 index 0000000..27dbf63 --- /dev/null +++ b/bin/ubuntu-12.04-base/create-container.sh @@ -0,0 +1,28 @@ +#!/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 + +# The Docker containers need the root directory of this repository as their +# build context (because they need the Ansible files). +pushd `dirname $0`/../.. > /dev/null + +docker build -f dockerfiles/ubuntu-12.04-base -t couchdbdev/ubuntu-12.04-base . + +popd > /dev/null http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/a074a684/bin/ubuntu-12.04-base/enter-container.sh ---------------------------------------------------------------------- diff --git a/bin/ubuntu-12.04-base/enter-container.sh b/bin/ubuntu-12.04-base/enter-container.sh new file mode 100755 index 0000000..18273fa --- /dev/null +++ b/bin/ubuntu-12.04-base/enter-container.sh @@ -0,0 +1,20 @@ +#!/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. + +docker run -it couchdbdev/ubuntu-12.04-base bash http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/a074a684/bin/ubuntu-12.04-base/publish-container.sh ---------------------------------------------------------------------- diff --git a/bin/ubuntu-12.04-base/publish-container.sh b/bin/ubuntu-12.04-base/publish-container.sh new file mode 100755 index 0000000..e023793 --- /dev/null +++ b/bin/ubuntu-12.04-base/publish-container.sh @@ -0,0 +1,20 @@ +#!/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. + +docker push couchdbdev/ubuntu-12.04-base http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/a074a684/bin/ubuntu-12.04-erlang-18.3/create-container.sh ---------------------------------------------------------------------- diff --git a/bin/ubuntu-12.04-erlang-18.3/create-container.sh b/bin/ubuntu-12.04-erlang-18.3/create-container.sh new file mode 100755 index 0000000..87fdb61 --- /dev/null +++ b/bin/ubuntu-12.04-erlang-18.3/create-container.sh @@ -0,0 +1,28 @@ +#!/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 + +# The Docker containers need the root directory of this repository as their +# build context (because they need the Ansible files). +pushd `dirname $0`/../.. > /dev/null + +docker build -f dockerfiles/ubuntu-12.04-erlang-18.3 -t couchdbdev/ubuntu-12.04-erlang-18.3 . + +popd > /dev/null http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/a074a684/bin/ubuntu-12.04-erlang-18.3/enter-container.sh ---------------------------------------------------------------------- diff --git a/bin/ubuntu-12.04-erlang-18.3/enter-container.sh b/bin/ubuntu-12.04-erlang-18.3/enter-container.sh new file mode 100755 index 0000000..0bc6c48 --- /dev/null +++ b/bin/ubuntu-12.04-erlang-18.3/enter-container.sh @@ -0,0 +1,20 @@ +#!/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. + +docker run -it couchdbdev/ubuntu-12.04-erlang-18.3 bash http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/a074a684/bin/ubuntu-12.04-erlang-18.3/publish-container.sh ---------------------------------------------------------------------- diff --git a/bin/ubuntu-12.04-erlang-18.3/publish-container.sh b/bin/ubuntu-12.04-erlang-18.3/publish-container.sh new file mode 100755 index 0000000..81251e4 --- /dev/null +++ b/bin/ubuntu-12.04-erlang-18.3/publish-container.sh @@ -0,0 +1,20 @@ +#!/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. + +docker push couchdbdev/ubuntu-12.04-erlang-18.3 http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/a074a684/bin/ubuntu-12.04-erlang-18.3/run-build-in-container.sh ---------------------------------------------------------------------- diff --git a/bin/ubuntu-12.04-erlang-18.3/run-build-in-container.sh b/bin/ubuntu-12.04-erlang-18.3/run-build-in-container.sh new file mode 100755 index 0000000..b8dfa29 --- /dev/null +++ b/bin/ubuntu-12.04-erlang-18.3/run-build-in-container.sh @@ -0,0 +1,24 @@ +#!/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 +pushd $( dirname "$0" )/../.. +pwd +OS=ubuntu-12.04 ERLANG=18.3 jenkins/build.sh +popd http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/a074a684/dockerfiles/ubuntu-12.04-base ---------------------------------------------------------------------- diff --git a/dockerfiles/ubuntu-12.04-base b/dockerfiles/ubuntu-12.04-base new file mode 100644 index 0000000..c158fea --- /dev/null +++ b/dockerfiles/ubuntu-12.04-base @@ -0,0 +1,33 @@ +# 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 + +# NOTE: All docker files need to be run from ../../, that is +# docker build -f /docker/<container>/Dockerfile + +# Base Image: Plain Vanilla Ubuntu 12.04 with Ansible installed +FROM williamyeh/ansible:ubuntu12.04-onbuild + +# Add ansible directory and cd to it +ADD ./ansible /ansible +WORKDIR /ansible + +# Install Ansible roles +RUN ansible-galaxy install nodesource.node + +# Run Ansible to provision Ubuntu base container +RUN ansible-playbook ubuntu-12.04-base.yml \ + --connection=local \ + --inventory-file=./inventory/couchdb-ci-worker http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/a074a684/dockerfiles/ubuntu-12.04-erlang-18.3 ---------------------------------------------------------------------- diff --git a/dockerfiles/ubuntu-12.04-erlang-18.3 b/dockerfiles/ubuntu-12.04-erlang-18.3 new file mode 100644 index 0000000..b5681e8 --- /dev/null +++ b/dockerfiles/ubuntu-12.04-erlang-18.3 @@ -0,0 +1,34 @@ +# 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 + +# NOTE: All docker files need to be run from ../../, that is +# docker build -f /docker/<container>/Dockerfile + +FROM couchdbdev/ubuntu-12.04-base:latest + +# Re-add ansible directory to pick up latest changes +# This avoids having to cascade rebuild all images when changing +# a role that only affects a child container +ADD ./ansible /ansible + +# Run Ansible to provision container with Erlang 18.3 +RUN ansible-playbook ubuntu-12.04-erlang-18.3.yml \ + --connection=local \ + --inventory-file=./inventory/couchdb-ci-worker + +USER couchdb + +CMD ["/home/couchdb/build-ci.sh"] http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/a074a684/dockerfiles/ubuntu-12.04-erlang-default ---------------------------------------------------------------------- diff --git a/dockerfiles/ubuntu-12.04-erlang-default b/dockerfiles/ubuntu-12.04-erlang-default new file mode 100644 index 0000000..25e3e0e --- /dev/null +++ b/dockerfiles/ubuntu-12.04-erlang-default @@ -0,0 +1,34 @@ +# 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 + +# NOTE: All docker files need to be run from ../../, that is +# docker build -f /docker/<container>/Dockerfile + +FROM couchdbdev/ubuntu-12.04-base:latest + +# Re-add ansible directory to pick up latest changes +# This avoids having to cascade rebuild all images when changing +# a role that only affects a child container +ADD ./ansible /ansible + +# Run Ansible to provision container with Ubuntu's default Erlang +RUN ansible-playbook ubuntu-12.04-erlang-default.yml \ + --connection=local \ + --inventory-file=./inventory/couchdb-ci-worker + +USER couchdb + +CMD ["/home/couchdb/build-ci.sh"] http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/a074a684/jenkins/build.sh ---------------------------------------------------------------------- diff --git a/jenkins/build.sh b/jenkins/build.sh index b65c258..658b8a6 100755 --- a/jenkins/build.sh +++ b/jenkins/build.sh @@ -38,6 +38,11 @@ DOCKER_IMAGE="couchdbdev/" DOCKER_OPTIONS="" case $OS in + centos-6*) + echo "Using CentOS 6" + DOCKER_IMAGE=$DOCKER_IMAGE"centos-6-" + DOCKER_OPTIONS="-e LD_LIBRARY_PATH=/usr/local/lib" + ;; centos-7*) echo "Using CentOS 7" DOCKER_IMAGE=$DOCKER_IMAGE"centos-7-" @@ -47,10 +52,18 @@ case $OS in echo "Using Debian 8" DOCKER_IMAGE=$DOCKER_IMAGE"debian-8-" ;; + ubuntu-12.04*) + echo "Using Ubuntu 12.04" + DOCKER_IMAGE=$DOCKER_IMAGE"ubuntu-12.04-" + ;; ubuntu-14.04*) echo "Using Ubuntu 14.04" DOCKER_IMAGE=$DOCKER_IMAGE"ubuntu-14.04-" ;; + ubuntu-16.04*) + echo "Using Ubuntu 16.04" + DOCKER_IMAGE=$DOCKER_IMAGE"ubuntu-16.04-" + ;; *) echo "Unknown OS $OS" exit 1 @@ -72,6 +85,16 @@ case $ERLANG in ;; esac +if [ "$OS" = "ubuntu-12.04" -a "$ERLANG" = "default" ]; then + echo "Unsupported configuration, skipping build..." + exit 0 +fi + +if [ "$OS" = "centos-6" -a "$ERLANG" = "default" ]; then + echo "Unsupported configuration, skipping build..." + exit 0 +fi + docker pull $DOCKER_IMAGE docker run $DOCKER_OPTIONS $DOCKER_IMAGE http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/a074a684/readme.markdown ---------------------------------------------------------------------- diff --git a/readme.markdown b/readme.markdown index 075c7a5..5d91a20 100644 --- a/readme.markdown +++ b/readme.markdown @@ -15,18 +15,19 @@ for the origins of this work. **OS/Erlang** | **default ** | **18.3** --------------------|--------------|-------------- -**Ubuntu 12.04** | - | - +**Ubuntu 12.04** | â (R14B04) | â **Ubuntu 14.04** | â (16B03-1) | â **Ubuntu 16.04** | â (18.3) | â -**Debian 7** | - | - **Debian 8** | â (17.3) | â **Debian 9** | unreleased | unreleased -**CentOS 6** | - | - +**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?
