blob: 5edfef596928bb9cd87bafebd86a1ef6c7b237ad [file] [log] [blame]
Adam Israelb8a82812019-03-27 14:50:11 -04001dist: xenial
Adam Israeldcdf82b2017-08-15 15:26:43 -04002sudo: required
3language: python
Adam Israelb8a82812019-03-27 14:50:11 -04004cache: pip
Adam Israeldcdf82b2017-08-15 15:26:43 -04005before_install:
Adam Israelb8a82812019-03-27 14:50:11 -04006 - if [[ $TRAVIS_PYTHON_VERSION == '3.6' ]]; then sudo add-apt-repository -y ppa:jonathonf/python-3.6; fi
7 - if [[ $TRAVIS_PYTHON_VERSION == '3.7-dev' ]]; then sudo add-apt-repository -y ppa:deadsnakes/ppa; fi
Adam Israeldcdf82b2017-08-15 15:26:43 -04008 - sudo apt-get update -q
Adam Israelb8a82812019-03-27 14:50:11 -04009 - sudo apt-get remove -qy lxd lxd-client
10 - sudo apt-get install snapd libsodium-dev -y
11install:
12 - sudo snap install lxd || true # ignore failures so that unit tests will still run, at least
13 - sudo sh -c 'echo PATH=/snap/bin:$PATH >> /etc/environment';
14 - sudo snap install jq || true
15 - sudo snap install juju --classic --$JUJU_CHANNEL || true
16 - sudo snap install juju-wait --classic || true
17 - pip install tox-travis
Adam Israeldcdf82b2017-08-15 15:26:43 -040018env:
Adam Israelb8a82812019-03-27 14:50:11 -040019 global: >
20 TEST_AGENTS='{"agents":[{"url":"https://api.staging.jujucharms.com/identity","username":"libjuju-ci@yellow"}],"key":{"private":"88OOCxIHQNguRG7zFg2y2Hx5Ob0SeVKKBRnjyehverc=","public":"fDn20+5FGyN2hYO7z0rFUyoHGUnfrleslUNtoYsjNSs="}}'
21 PATH="/snap/bin:$PATH"
22
23matrix:
24 include:
25 - python: 3.6
26 env: JUJU_CHANNEL=edge
27 - python: 3.6
28 env: JUJU_CHANNEL=stable
29 - python: 3.7-dev
30 env: JUJU_CHANNEL=stable
31 - python: 3.7-dev
32 env: JUJU_CHANNEL=edge
33before_script:
34 # Run lint before performing more expensive operations (fail fast/early)
35 - tox -e lint
36
37 # init lxd for tests
38 - sudo lxd waitready --timeout 30
39 - sudo chmod 666 /var/snap/lxd/common/lxd/unix.socket
40 - lxd init --auto --network-address='[::]' --network-port=8443 --storage-backend=dir
41
42 # Horrible workaround to LP Bug #1738614
43 - sudo mkdir /var/snap/lxd/common/lxd/storage-pools/juju-zfs
44 - lxc storage create juju-zfs dir source=/var/snap/lxd/common/lxd/storage-pools/juju-zfs
45
Adam Israeldcdf82b2017-08-15 15:26:43 -040046script:
Adam Israelb8a82812019-03-27 14:50:11 -040047 - juju bootstrap localhost test --config 'identity-url=https://api.staging.jujucharms.com/identity' --config 'allow-model-access=true'
48 - tox -e py3,integration,serial