125 lines
4.4 KiB
Diff
125 lines
4.4 KiB
Diff
|
--- .travis.yml 2020-03-31 12:13:44.168273000 +0200
|
||
|
+++ dot.travis.yml 2020-03-31 12:14:39.620017000 +0200
|
||
|
@@ -2,58 +2,79 @@
|
||
|
|
||
|
os: linux
|
||
|
dist: xenial
|
||
|
-language: elixir
|
||
|
notifications:
|
||
|
email:
|
||
|
recipients:
|
||
|
- alerts@rabbitmq.com
|
||
|
on_success: never
|
||
|
on_failure: always
|
||
|
-addons:
|
||
|
- apt:
|
||
|
- packages:
|
||
|
- - awscli
|
||
|
-cache:
|
||
|
- apt: true
|
||
|
-env:
|
||
|
- global:
|
||
|
|
||
|
- # $base_rmq_ref is used by rabbitmq-components.mk to select the
|
||
|
- # appropriate branch for dependencies.
|
||
|
- - base_rmq_ref=master
|
||
|
+services:
|
||
|
+ - docker
|
||
|
|
||
|
-elixir:
|
||
|
- - '1.9'
|
||
|
-otp_release:
|
||
|
- - '21.3'
|
||
|
- - '22.2'
|
||
|
+git:
|
||
|
+ depth: 5
|
||
|
|
||
|
-install:
|
||
|
- # This project being an Erlang one (we just set language to Elixir
|
||
|
- # to ensure it is installed), we don't want Travis to run mix(1)
|
||
|
- # automatically as it will break.
|
||
|
- skip
|
||
|
+env:
|
||
|
+ global:
|
||
|
+ TRAVIS_BRANCH=travis_ocf_ra
|
||
|
+ VAGRANT_VERSION=2.2.5
|
||
|
+ DOCKER_IMAGE=bogdando/rabbitmq-cluster-ocf
|
||
|
+ UPLOAD_METHOD=none
|
||
|
+ OCF_RA_PROVIDER=rabbitmq
|
||
|
+ OCF_RA_TYPE=rabbitmq-server-ha
|
||
|
+ STORAGE=/var/tmp/rmq
|
||
|
+ POLICY_BASE64=IyBUaGlzIHNjcmlwdCBpcyBjYWxsZWQgYnkgcmFiYml0bXEtc2VydmVyLWhhLm9jZiBkdXJpbmcgUmFiYml0TVEKIyBjbHVzdGVyIHN0YXJ0IHVwLiBJdCBpcyBhIGNvbnZlbmllbnQgcGxhY2UgdG8gc2V0IHlvdXIgY2x1c3RlcgojIHBvbGljeSBoZXJlLCBmb3IgZXhhbXBsZToKIyAke09DRl9SRVNLRVlfY3RsfSBzZXRfcG9saWN5IGhhLWFsbCAiLiIgJ3siaGEtbW9kZSI6ImFsbCIsICJoYS1zeW5jLW1vZGUiOiJhdXRvbWF0aWMiLCAiaGEtc3luYy1iYXRjaC1zaXplIjoxMDAwMH0nCgojIEVuYWJsZSBoYS1wb2xpY3kgd2l0aCB0aGUgcmVwbGljYSBmYWN0b3Igb2YgNSBmb3IgamVwc2VuIHF1ZXVlcwpvY2ZfbG9nIGluZm8gIiR7TEh9IFNldHRpbmcgSEEgcG9saWN5IGZvciBhbGwgcXVldWVzIgoke09DRl9SRVNLRVlfY3RsfSBzZXRfcG9saWN5IGhhLWFsbCAiamVwc2VuLiIgJ3siaGEtbW9kZSI6ImV4YWN0bHkiLCAiaGEtcGFyYW1zIjoyLCAiaGEtc3luYy1tb2RlIjoiYXV0b21hdGljIn0nCg==
|
||
|
+ CACHE=/var/tmp/releases
|
||
|
+ DOCKER_MOUNTS="${HOME}/${OCF_RA_PROVIDER}:/usr/lib/ocf/resource.d/${OCF_RA_PROVIDER}/${OCF_RA_PROVIDER}:ro jepsen:/jepsen"
|
||
|
+ DOCKER_DRIVER=aufs
|
||
|
+ matrix:
|
||
|
+ - >-
|
||
|
+ USE_JEPSEN=false
|
||
|
+ QUIET=true
|
||
|
+ SMOKETEST_WAIT=360
|
||
|
+ CPU=500
|
||
|
+ MEMORY=512M
|
||
|
+ - >-
|
||
|
+ USE_JEPSEN=true
|
||
|
+ QUIET=false
|
||
|
+ SMOKETEST_WAIT=1800
|
||
|
+ CPU=333
|
||
|
+ MEMORY=512M
|
||
|
|
||
|
-script:
|
||
|
- # $current_rmq_ref is also used by rabbitmq-components.mk to select
|
||
|
- # the appropriate branch for dependencies.
|
||
|
- - make check-rabbitmq-components.mk
|
||
|
- current_rmq_ref="${TRAVIS_PULL_REQUEST_BRANCH:-${TRAVIS_BRANCH}}"
|
||
|
- - make xref
|
||
|
- current_rmq_ref="${TRAVIS_PULL_REQUEST_BRANCH:-${TRAVIS_BRANCH}}"
|
||
|
- - make tests
|
||
|
- current_rmq_ref="${TRAVIS_PULL_REQUEST_BRANCH:-${TRAVIS_BRANCH}}"
|
||
|
+matrix:
|
||
|
+ allow_failures:
|
||
|
+ - env: USE_JEPSEN=true QUIET=false SMOKETEST_WAIT=900 CPU=333 MEMORY=512M
|
||
|
|
||
|
-after_failure:
|
||
|
- - |
|
||
|
- cd "$TRAVIS_BUILD_DIR"
|
||
|
- if test -d logs && test "$AWS_ACCESS_KEY_ID" && test "$AWS_SECRET_ACCESS_KEY"; then
|
||
|
- archive_name="$(basename "$TRAVIS_REPO_SLUG")-$TRAVIS_JOB_NUMBER"
|
||
|
+before_cache:
|
||
|
+ # Save tagged docker images
|
||
|
+ - mkdir -p $CACHE
|
||
|
+ - docker save $(docker images -a --filter='dangling=false' --format '{{.Repository}}:{{.Tag}} {{.ID}}') -o $CACHE/all.tar
|
||
|
|
||
|
- tar -c --transform "s/^logs/${archive_name}/" -f - logs | \
|
||
|
- xz > "${archive_name}.tar.xz"
|
||
|
+cache:
|
||
|
+ - directories:
|
||
|
+ - $CACHE
|
||
|
|
||
|
- aws s3 cp "${archive_name}.tar.xz" s3://server-release-pipeline/travis-ci-logs/ \
|
||
|
- --region eu-west-1 \
|
||
|
- --acl public-read
|
||
|
- fi
|
||
|
+before_install:
|
||
|
+ # Prepare and run a smoke test against the RabbitMQ OCF RA only if
|
||
|
+ # the scripts/rabbitmq-server-ha.ocf has changes
|
||
|
+ - if ! git diff HEAD~ --name-only | grep -q scripts/rabbitmq-server-ha.ocf; then exit 0; fi
|
||
|
+ # Load cached docker images
|
||
|
+ - if [ -f $CACHE/all.tar ]; then docker load < $CACHE/all.tar; fi
|
||
|
+ - cp -f scripts/rabbitmq-server-ha.ocf "$HOME/$OCF_RA_PROVIDER"
|
||
|
+ - chmod +x "$HOME/$OCF_RA_PROVIDER"
|
||
|
+ - sudo apt-get install -qq git wget
|
||
|
+ - echo "Downloading vagrant ${VAGRANT_VERSION}..."
|
||
|
+ - >
|
||
|
+ if [ ! -f $CACHE/vagrant_${VAGRANT_VERSION}_x86_64.deb ]; then
|
||
|
+ wget --no-verbose https://releases.hashicorp.com/vagrant/${VAGRANT_VERSION}/vagrant_${VAGRANT_VERSION}_x86_64.deb
|
||
|
+ -O $CACHE/vagrant_${VAGRANT_VERSION}_x86_64.deb; fi
|
||
|
+ - echo "Installing vagrant ${VAGRANT_VERSION}..."
|
||
|
+ - sudo dpkg -i --force-all $CACHE/vagrant_${VAGRANT_VERSION}_x86_64.deb
|
||
|
+ - echo "Pulling docker images..."
|
||
|
+ - docker pull $DOCKER_IMAGE
|
||
|
+ - git clone https://github.com/bogdando/rabbitmq-cluster-ocf-vagrant
|
||
|
+ - cd rabbitmq-cluster-ocf-vagrant
|
||
|
+
|
||
|
+script:
|
||
|
+ - vagrant up
|