From bef746ae7b215db78be088657bbfaf47c774f943 Mon Sep 17 00:00:00 2001 From: Azul Date: Mon, 8 Aug 2016 10:25:54 +0200 Subject: [ci] setup couch for gitlab Couch docker image will be available on the host called couchdb. So we use curl to check for it and display the version string. And then we move a couchdb.yml config file into place so the right host will be used. --- .gitlab-ci.yml | 16 +++++++++------- .travis.yml | 8 ++++---- test/config/couchdb.admin.yml | 6 ------ test/config/couchdb.yml | 5 ----- test/config/gitlab/couchdb.yml | 4 ++++ test/config/travis/couchdb.admin.yml | 6 ++++++ test/config/travis/couchdb.yml | 5 +++++ test/config/travis/ruby-version | 1 + test/config/travis/setup_couch.sh | 17 +++++++++++++++++ test/travis/ruby-version | 1 - test/travis/setup_couch.sh | 17 ----------------- 11 files changed, 46 insertions(+), 40 deletions(-) delete mode 100644 test/config/couchdb.admin.yml delete mode 100644 test/config/couchdb.yml create mode 100644 test/config/gitlab/couchdb.yml create mode 100644 test/config/travis/couchdb.admin.yml create mode 100644 test/config/travis/couchdb.yml create mode 100644 test/config/travis/ruby-version create mode 100755 test/config/travis/setup_couch.sh delete mode 100644 test/travis/ruby-version delete mode 100755 test/travis/setup_couch.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index df920d0..01d8d52 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,7 +8,7 @@ image: "ruby:2.1" # Check out: http://docs.gitlab.com/ce/ci/docker/using_docker_images.html#what-is-service services: - couchdb:1.6.1 - + # Cache gems in between builds cache: paths: @@ -17,13 +17,15 @@ cache: # This is a basic example for a gem or script which doesn't use # services such as redis or postgres before_script: - - ruby -v # Print out ruby version for debugging - - gem install bundler --no-ri --no-rdoc # Bundler is not installed with the image - - bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby - - export RAILS_ENV=test + - ruby -v + - curl -s couchdb:5984 + - cp test/config/gitlab/couchdb.yml config/couchdb.admin.yml + - cp test/config/gitlab/couchdb.yml config + - gem install bundler --no-ri --no-rdoc + - bundle install -j $(nproc) --path vendor --without development debug + - bundle exec rake RAILS_ENV=test db:rotate + - bundle exec rake RAILS_ENV=test db:migrate rails: script: - - bundle exec rake db:rotate - - bundle exec rake db:migrate - bundle exec rake test diff --git a/.travis.yml b/.travis.yml index 4e7aad0..2681951 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,10 +6,10 @@ before_install: - "gem install bundler --version 1.11.2" before_script: - "rm .ruby-version" - - "mv test/travis/ruby-version .ruby-version" - - "test/travis/setup_couch.sh" - - "mv test/config/couchdb.admin.yml config/couchdb.admin.yml" - - "mv test/config/couchdb.yml config/couchdb.yml" + - "mv test/config/travis/ruby-version .ruby-version" + - "test/config/travis/setup_couch.sh" + - "mv test/config/travis/couchdb.admin.yml config/couchdb.admin.yml" + - "mv test/config/travis/couchdb.yml config/couchdb.yml" - "bundle exec rake RAILS_ENV=test db:rotate" - "bundle exec rake RAILS_ENV=test db:migrate" after_script: diff --git a/test/config/couchdb.admin.yml b/test/config/couchdb.admin.yml deleted file mode 100644 index 0988bc1..0000000 --- a/test/config/couchdb.admin.yml +++ /dev/null @@ -1,6 +0,0 @@ -test: - auto_update_design_doc: false - username: "anna" - password: "secret" - prefix: "" - diff --git a/test/config/couchdb.yml b/test/config/couchdb.yml deleted file mode 100644 index 9c8b67b..0000000 --- a/test/config/couchdb.yml +++ /dev/null @@ -1,5 +0,0 @@ -test: - auto_update_design_doc: false - username: "me" - password: "pwd" - prefix: "" diff --git a/test/config/gitlab/couchdb.yml b/test/config/gitlab/couchdb.yml new file mode 100644 index 0000000..5d4f71f --- /dev/null +++ b/test/config/gitlab/couchdb.yml @@ -0,0 +1,4 @@ +test: + auto_update_design_doc: false + host: "couchdb" + prefix: "" diff --git a/test/config/travis/couchdb.admin.yml b/test/config/travis/couchdb.admin.yml new file mode 100644 index 0000000..7c9584c --- /dev/null +++ b/test/config/travis/couchdb.admin.yml @@ -0,0 +1,6 @@ +test: + auto_update_design_doc: false + username: "anna" + password: "secret" + prefix: "" + diff --git a/test/config/travis/couchdb.yml b/test/config/travis/couchdb.yml new file mode 100644 index 0000000..9c8b67b --- /dev/null +++ b/test/config/travis/couchdb.yml @@ -0,0 +1,5 @@ +test: + auto_update_design_doc: false + username: "me" + password: "pwd" + prefix: "" diff --git a/test/config/travis/ruby-version b/test/config/travis/ruby-version new file mode 100644 index 0000000..68b3a4c --- /dev/null +++ b/test/config/travis/ruby-version @@ -0,0 +1 @@ +1.9.3-p551 diff --git a/test/config/travis/setup_couch.sh b/test/config/travis/setup_couch.sh new file mode 100755 index 0000000..0502c12 --- /dev/null +++ b/test/config/travis/setup_couch.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +HOST="http://localhost:5984" +echo "couch version :" +curl -X GET $HOST +echo "creating user :" +curl -HContent-Type:application/json -XPUT $HOST/_users/org.couchdb.user:me --data-binary '{"_id": "org.couchdb.user:me","name": "me","roles": [],"type": "user","password": "pwd"}' +echo "creating databases :" +curl -X PUT $HOST/sessions +curl -X PUT $HOST/users +curl -X PUT $HOST/tickets +echo "restricting database access :" +curl -X PUT $HOST/sessions/_security -Hcontent-type:application/json --data-binary '{"admins":{"names":[],"roles":[]},"members":{"names":["me"],"roles":[]}}' +curl -X PUT $HOST/users/_security -Hcontent-type:application/json --data-binary '{"admins":{"names":[],"roles":[]},"members":{"names":["me"],"roles":[]}}' +curl -X PUT $HOST/tickets/_security -Hcontent-type:application/json --data-binary '{"admins":{"names":[],"roles":[]},"members":{"names":["me"],"roles":[]}}' +echo "adding admin :" +curl -X PUT $HOST/_config/admins/anna -d '"secret"' diff --git a/test/travis/ruby-version b/test/travis/ruby-version deleted file mode 100644 index 68b3a4c..0000000 --- a/test/travis/ruby-version +++ /dev/null @@ -1 +0,0 @@ -1.9.3-p551 diff --git a/test/travis/setup_couch.sh b/test/travis/setup_couch.sh deleted file mode 100755 index 0502c12..0000000 --- a/test/travis/setup_couch.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -HOST="http://localhost:5984" -echo "couch version :" -curl -X GET $HOST -echo "creating user :" -curl -HContent-Type:application/json -XPUT $HOST/_users/org.couchdb.user:me --data-binary '{"_id": "org.couchdb.user:me","name": "me","roles": [],"type": "user","password": "pwd"}' -echo "creating databases :" -curl -X PUT $HOST/sessions -curl -X PUT $HOST/users -curl -X PUT $HOST/tickets -echo "restricting database access :" -curl -X PUT $HOST/sessions/_security -Hcontent-type:application/json --data-binary '{"admins":{"names":[],"roles":[]},"members":{"names":["me"],"roles":[]}}' -curl -X PUT $HOST/users/_security -Hcontent-type:application/json --data-binary '{"admins":{"names":[],"roles":[]},"members":{"names":["me"],"roles":[]}}' -curl -X PUT $HOST/tickets/_security -Hcontent-type:application/json --data-binary '{"admins":{"names":[],"roles":[]},"members":{"names":["me"],"roles":[]}}' -echo "adding admin :" -curl -X PUT $HOST/_config/admins/anna -d '"secret"' -- cgit v1.2.3