From a02b0aa2ec1d94db62a6066382e47428a062d5ca Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 7 May 2018 16:29:25 +0800 Subject: [PATCH] Test using docker in travis --- .travis.yml | 38 +++++++++++++++++++++++++++----------- .travis.yml.old | 13 +++++++++++++ tests/test.yml | 11 +++++++++++ 3 files changed, 51 insertions(+), 11 deletions(-) create mode 100644 .travis.yml.old create mode 100644 tests/test.yml diff --git a/.travis.yml b/.travis.yml index 5987ebb..e534483 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,13 +1,29 @@ --- -language: python -python: "2.7" -before_install: - - sudo apt-get update -qq - - sudo apt-get install -qq python-apt python-pycurl -install: - - pip install ansible +services: docker + +env: + - distro: ubuntu1604 + - distro: debian9 + - distro: debian8 + script: - - echo localhost > inventory - - export ANSIBLE_ROLES_PATH="../" - - ansible-playbook -i inventory --syntax-check mstmp.yml - - ansible-playbook -i inventory --connection=local --sudo -vvvv mstmp.yml + # Configure test script so we can run extra tests after playbook is run + - export container_id=$(date +%s) + - export cleanup=false + + # Download test shim. + - wget -O ${PWD}/tests/test.sh https://gist.githubusercontent.com/geerlingguy/73ef1e5ee45d8694570f334be385e181/raw/ + - chmod +x ${PWD}/tests/test.sh + + # Run tests. + - ${PWD}/tests/test.sh + + # Setup test site. + - 'docker exec ${container_id} mkdir -p /var/www/test' + - 'docker exec ${container_id} bash -c "echo Success >| /var/www/test/index.html"' + + # Make sure virtualhost exists. + - 'docker exec --tty ${container_id} env TERM=xterm curl http://localhost/ | grep "Success"' + +notifications: +webhooks: https://galaxy.ansible.com/api/v1/notifications/ diff --git a/.travis.yml.old b/.travis.yml.old new file mode 100644 index 0000000..5987ebb --- /dev/null +++ b/.travis.yml.old @@ -0,0 +1,13 @@ +--- +language: python +python: "2.7" +before_install: + - sudo apt-get update -qq + - sudo apt-get install -qq python-apt python-pycurl +install: + - pip install ansible +script: + - echo localhost > inventory + - export ANSIBLE_ROLES_PATH="../" + - ansible-playbook -i inventory --syntax-check mstmp.yml + - ansible-playbook -i inventory --connection=local --sudo -vvvv mstmp.yml diff --git a/tests/test.yml b/tests/test.yml new file mode 100644 index 0000000..8801ef8 --- /dev/null +++ b/tests/test.yml @@ -0,0 +1,11 @@ +--- +- hosts: all + + pre_tasks: + - name: Update apt cache. + apt: update_cache=yes cache_valid_time=600 + when: ansible_os_family == 'Debian' + changed_when: false + + roles: + - role_under_test