summaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml60
1 files changed, 37 insertions, 23 deletions
diff --git a/.travis.yml b/.travis.yml
index 1582e829..2e79f2b7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -73,19 +73,20 @@ matrix:
- sudo usermod -a -G lxd $USER
- sudo sbuild-adduser $USER
- cp /usr/share/doc/sbuild/examples/example.sbuildrc /home/$USER/.sbuildrc
+ - echo "[lxd]" > /home/$USER/.config/pycloudlib.toml
script:
# Ubuntu LTS: Build
- - ./packages/bddeb -S -d --release xenial
+ - ./packages/bddeb -S -d --release bionic
- |
needs_caching=false
- if [ -e "$TRAVIS_BUILD_DIR/chroots/xenial-amd64.tar" ]; then
+ if [ -e "$TRAVIS_BUILD_DIR/chroots/bionic-amd64.tar" ]; then
# If we have a cached chroot, move it into place
- sudo mkdir -p /var/lib/schroot/chroots/xenial-amd64
- sudo tar --sparse --xattrs --preserve-permissions --numeric-owner -xf "$TRAVIS_BUILD_DIR/chroots/xenial-amd64.tar" -C /var/lib/schroot/chroots/xenial-amd64
+ sudo mkdir -p /var/lib/schroot/chroots/bionic-amd64
+ sudo tar --sparse --xattrs --preserve-permissions --numeric-owner -xf "$TRAVIS_BUILD_DIR/chroots/bionic-amd64.tar" -C /var/lib/schroot/chroots/bionic-amd64
# Write its configuration
- cat > sbuild-xenial-amd64 << EOM
- [xenial-amd64]
- description=xenial-amd64
+ cat > sbuild-bionic-amd64 << EOM
+ [bionic-amd64]
+ description=bionic-amd64
groups=sbuild,root,admin
root-groups=sbuild,root,admin
# Uncomment these lines to allow members of these groups to access
@@ -95,20 +96,20 @@ matrix:
type=directory
profile=sbuild
union-type=overlay
- directory=/var/lib/schroot/chroots/xenial-amd64
+ directory=/var/lib/schroot/chroots/bionic-amd64
EOM
- sudo mv sbuild-xenial-amd64 /etc/schroot/chroot.d/
- sudo chown root /etc/schroot/chroot.d/sbuild-xenial-amd64
+ sudo mv sbuild-bionic-amd64 /etc/schroot/chroot.d/
+ sudo chown root /etc/schroot/chroot.d/sbuild-bionic-amd64
# And ensure it's up-to-date.
- before_pkgs="$(sudo schroot -c source:xenial-amd64 -d / dpkg -l | sha256sum)"
- sudo schroot -c source:xenial-amd64 -d / -- sh -c "apt-get update && apt-get -qqy upgrade"
- after_pkgs=$(sudo schroot -c source:xenial-amd64 -d / dpkg -l | sha256sum)
+ before_pkgs="$(sudo schroot -c source:bionic-amd64 -d / dpkg -l | sha256sum)"
+ sudo schroot -c source:bionic-amd64 -d / -- sh -c "apt-get update && apt-get -qqy upgrade"
+ after_pkgs=$(sudo schroot -c source:bionic-amd64 -d / dpkg -l | sha256sum)
if [ "$before_pkgs" != "$after_pkgs" ]; then
needs_caching=true
fi
else
# Otherwise, create the chroot
- sudo -E su $USER -c 'mk-sbuild xenial'
+ sudo -E su $USER -c 'mk-sbuild bionic'
needs_caching=true
fi
# If there are changes to the schroot (or it's entirely new),
@@ -116,26 +117,39 @@ matrix:
# move it into the cached dir; no need to compress it because
# Travis will do that anyway
if [ "$needs_caching" = "true" ]; then
- sudo tar --sparse --xattrs --xattrs-include=* -cf "$TRAVIS_BUILD_DIR/chroots/xenial-amd64.tar" -C /var/lib/schroot/chroots/xenial-amd64 .
+ sudo tar --sparse --xattrs --xattrs-include=* -cf "$TRAVIS_BUILD_DIR/chroots/bionic-amd64.tar" -C /var/lib/schroot/chroots/bionic-amd64 .
fi
# Use sudo to get a new shell where we're in the sbuild group
- - sudo -E su $USER -c 'sbuild --nolog --no-run-lintian --verbose --dist=xenial cloud-init_*.dsc'
- - ssh-keygen -P "" -q -f ~/.ssh/id_rsa
- - sg lxd -c 'CLOUD_INIT_CLOUD_INIT_SOURCE="$(ls *.deb)" tox -e integration-tests-ci'
- - python: 3.5
+ # Don't run integration tests when build fails
+ - |
+ sudo -E su $USER -c 'DEB_BUILD_OPTIONS=nocheck sbuild --nolog --no-run-lintian --no-run-autopkgtest --verbose --dist=bionic cloud-init_*.dsc' &&
+ ssh-keygen -P "" -q -f ~/.ssh/id_rsa &&
+ sg lxd -c 'CLOUD_INIT_CLOUD_INIT_SOURCE="$(ls *.deb)" tox -e integration-tests-ci'
+ - python: 3.6
env:
- TOXENV=xenial
- PYTEST_ADDOPTS=-v # List all tests run by pytest
- dist: xenial
+ TOXENV=lowest-supported
+ PYTEST_ADDOPTS=-v # List all tests run by pytest
+ dist: bionic
- python: 3.6
env: TOXENV=flake8
- python: 3.6
env: TOXENV=pylint
+ - python: 3.6
+ env: TOXENV=black
+ - python: 3.6
+ env: TOXENV=isort
- python: 3.7
env: TOXENV=doc
+ install:
+ - git fetch --unshallow
+ - sudo apt-get install lintian
+ - pip install tox
+ script:
+ - make check_spelling
+ - tox
# Test all supported Python versions (but at the end, so we schedule
# longer-running jobs first)
+ - python: "3.10.1"
- python: 3.9
- python: 3.8
- python: 3.7
- - python: 3.5