summaryrefslogtreecommitdiff
path: root/.travis.yml
AgeCommit message (Collapse)Author
2022-02-14mypy: introduce type checking (#1254)Chris Patterson
All currently failing modules are excluded from reporting errors using follow-imports=silent and an exclusion list. Future work can whittle down this failing list. This change will start enforcing new modules and those currently passing. Includes some minor alphabetical reordering in tox.ini. Signed-off-by: Chris Patterson <cpatterson@microsoft.com>
2022-02-02spell check docs with spellintian (#1223)Brett Holman
Fix spelling errors - Add Makefile target that checks for spelling errors - Add Makefile target that fixes spelling errors - Add spelling check to travis doc tests - Fix various spelling errors in the docs
2022-01-18testing: support pycloudlib config file (#1189)James Falcon
https://pycloudlib.readthedocs.io/en/latest/configuration.html#configuration
2022-01-10Remove 3.5 and xenial support (SC-711) (#1167)James Falcon
Includes: - Update tox.ini and .travis.yml accordingly - Cleanup tox.ini with new tox syntax and cloud-init dependencies - Update documentation accordingly - Replace/remove xenial references where additional testing isn't required - Remove xenial checks in integration tests - Replace yield_fixture with fixture in pytest tests Sections of code commented with lines like "Remove when Xenial is no longer supported" still exist as they're require additional testing.
2022-01-07testing: Add 3.10 Test Coverage (#1173)Brett Holman
Multiple supported distros (arch/fedora) have changed their default python version to 3.10. We should include it in the test matrix.
2022-01-07Remove unittests from integration test job in travis (#1141)Brett Holman
Currently the integration test job executes unittests as part of package build. The unittests have their own jobs, so this coverage is redundant and unnecessary. Save time and remove this test.
2021-12-15Adopt Black and isort (SC-700) (#1157)James Falcon
Applied Black and isort, fixed any linting issues, updated tox.ini and CI.
2021-12-08travis - don't run integration tests if no deb (#1139)Brett Holman
If building the *.deb fails, exit Currently integration tests will run and fail with a non-obvious message. This makes it so the last thing in the logs is whatever caused the build to fail.
2021-10-26Add max version to docutilsJames Falcon
Also update travis to use python version for docs that readthedocs uses
2021-04-15Emit dots on travis to avoid timeout (#867)James Falcon
The current method of running a background sleep until travis is finished is causing integration test runs to pass even when they should be failing. Instead, update the code to emit dots itself.
2021-03-19.travis.yml: generate an SSH key before running tests (#848)Daniel Watkins
2021-01-13.travis.yml: don't run cloud_tests in CI (#756)Daniel Watkins
We have replicated their functionality in the new integration testing framework, and have seen that running for long enough to be confident in relying on it. cloud_tests are still used in cloud-init's nightly test runs: this is only modifying what we run in Travis.
2020-12-18No longer allow integration test failures on travis (#738)James Falcon
2020-12-17.travis.yml: add (most) supported Python versions to CI (#734)Daniel Watkins
This excludes Python 3.4, as there are currently test failures there; that will be addressed separately.
2020-11-23.travis.yml: correctly integration test the built .deb (#683)Daniel Watkins
`IMAGE_SOURCE` was renamed to `CLOUD_INIT_SOURCE` before the testing framework ever landed, but I did not mirror that change in .travis.yml before it landed. This addresses that.
2020-11-18only run a subset of integration tests in CI (#672)Daniel Watkins
This introduces the "ci" mark, used to indicate a test which should run as part of our CI integration testing run and the integration-tests-ci tox environment, which runs only those tests. Travis has been adjusted to use this tox environment. (All current module tests have been marked with the "ci" mark, but the one bug test that we have has not.)
2020-11-05Prevent timeout on travis integration tests. (#651)James Falcon
Add a script in travis to output a dot every 10 minute during and integration test run to prevent travis timeout. Co-authored-by: Rick Harding <rharding@mitechie.com>
2020-11-03Revert ".travis.yml: use a known-working version of lxd (#643)" (#650)Daniel Watkins
This reverts commit f72d0cb7a03cc311700ea8795edf2454172c7414. A new release of lxd has been released to the stable channel, which includes a fix for the issue we were previously working around.
2020-10-30.travis.yml: use a known-working version of lxd (#643)Daniel Watkins
The latest lxd 4.7 snap causes failures; while we're diagnosing those and addressing the issues (either upstream or in our code), pin at lxd 4.6 so we can continue to land PRs in cloud-init trunk.
2020-10-20.travis.yml: add integration-tests to Travis matrix (#600)Daniel Watkins
This is implemented as a copy/paste of the `citest` integration testing script: the two are not intended to co-exist long-term, so it isn't worth further complicating an already complex part of our Travis configuration for short-term code reuse. The two changes from the `citest` definition: the test framework executed on the last line of `script`, and it is given a `name` so we can easily ignore failures.
2020-08-13.travis.yml: run a doc build during CI (#534)Daniel Watkins
We have doc8 configured, so we should use it to gate documentation changes.
2020-06-30Enable use of the caplog fixture in pytest tests, and add a cc_final_message ↵Daniel Watkins
test using it (#461) caplog is only available in pytest itself from 3.0 onwards. In xenial, we only have pytest 2.8.7. However, in xenial we do have pytest-catchlog available (as python3-pytest-catchlog), so we use that where appropriate.
2020-06-26.travis.yml: revert to installing ubuntu-dev-tools (#460)Daniel Watkins
My previous testing was insufficient: there is a branch of testing that requires mk-sbuild, which is shipped in ubuntu-dev-tools itself.
2020-06-26.travis.yml: rationalise installation of dependencies in host (#449)Daniel Watkins
We build in a schroot using sbuild, so we don't need Build-Depends installed in the host; save some time (and manual maintenance when Build-Depends change) by dropping their installation and skipping the check for them when calling `bddeb`. We _do_ require debhelper to be installed to build the source package, so ensure it is installed. Additionally, while I was here, replace ubuntu-dev-tools with devscripts; we don't need everything that ubuntu-dev-tools pulls in.
2020-06-19.travis.yml: only store new schroot if something has changed (#440)Daniel Watkins
Prior to this change, the process of tarring up would mean that Travis would always detect that the cache had changed, and we would incur ~30s of packing/transferring at the end of every build. Instead, we now check if there was any change to the installed contents of the schroot, and only generate a new tarball if there were changes.
2020-06-16.travis.yml: use $TRAVIS_BUILD_DIR for lxd_image caching (#438)Daniel Watkins
This makes us more robust, as our caching won't start breaking if other parts of the Travis build change directory for us.
2020-06-12travis: cache the chroot we use for package builds (#429)Daniel Watkins
Prior to this change, we would debootstrap for every single integration test run in Travis. This changes that, so we will store the chroot created by debootstrap in Travis' cache, and use it if available. This saves 2-3 minutes, or ~1/3rd of the integration test run time (which is our longest run).
2020-05-27testing: use flake8 again (#392)Joshua Powers
Instead of running pycodestyle and pyflakes seperately, use flake8 to get the benefits of pyflakes and also stylistic checks as well as the ability to configure the settings for the project.
2020-05-25Travis: do not install python3-contextlib2 (dropped dependency) (#388)Paride Legovini
2020-05-14cloud_tests: emit dots on Travis while fetching images (#347)Daniel Watkins
This ensures that Travis will not kill our tests if fetching images is taking a long time. In implementation terms, this introduces a context manager which will spin up a multiprocessing.Process in the background and print a dot to stdout every 10 seconds. The process is terminated when the context manager exits. This also drop the use of travis_wait, which was being used to work around this issue.
2020-05-08.travis.yml: don't run lintian during integration test package builds (#352)Daniel Watkins
As we only look at these logs when there's an error, and lintian failures don't cause the package build to error out, we never examine this lintian output. Let's save ourselves some CI time by skipping it. (We aren't lintian clean, otherwise a better change here would be to make lintian warnings cause the package build to fail.)
2020-04-30.travis.yml: introduce caching (#329)Daniel Watkins
cloud-images.ubuntu.com can sometimes be under heavy load; caching the images helps avoid that affecting our build times (or causing build failures entirely).
2020-04-23.travis.yml: don't run integration test on ubuntu/* branches (#321)Daniel Watkins
The integration test doesn't work against the ubuntu/* branches because it uses the tooling designed to work against master. This means that ubuntu/* branches always report failures in Travis, which doesn't give us any signal.
2020-03-27.travis.yml: allow 30 minutes of inactivity in cloud tests (#287)Daniel Watkins
We're seeing CI failures currently because a LXD image takes more than 10 minutes to download if the transatlantic link to Canonical's DC is heavily contested. This uses a helper provided by Travis[0] to avoid cancellation due to lack of output for 30 minutes, which should be sufficient to download an image even at the lowest speeds we've been seeing. [0] https://docs.travis-ci.com/user/common-build-problems/#build-times-out-because-no-output-was-received
2020-03-19.travis.yml: drop stale comment (#255)Daniel Watkins
Co-authored-by: Chad Smith <chad.smith@canonical.com>
2020-03-10cloudinit: move to pytest for running tests (#211)Daniel Watkins
As the nose docs[0] themselves note, it has been in maintenance mode for the past several years. pytest is an actively developed, featureful and popular alternative that the nose docs themselves recommend. See [1] for more details about the thinking here. (This PR also removes stale tox definitions, instead of modifying them.) [0] https://nose.readthedocs.io/en/latest/ [1] https://lists.launchpad.net/cloud-init/msg00245.html
2020-01-23.travis.yml: use correct Python version for xenial tests (#185)Daniel Watkins
2019-12-20ci: remove Python 2.7 from CI runs (#137)Daniel Watkins
Specifically, drop it from the default list of environments that tox will run, and from Travis. (We retain the configuration in tox.ini for now, for any remaining Python 2.7 needs.)
2019-12-18ci: emit names of tests run in Travis (#120)Daniel Watkins
This makes it easier to debug differences in test behaviour between Travis and local developer environments.
2019-12-04Revert "travis: only run CI on pull requests"Daniel Watkins
Until we have a clear issue with CI throughput, let's make sure that we're testing master. This reverts commit 21967a2dedc781e05cf62c80fb730d0ed5973c8b.
2019-11-12travis: only run CI on pull requestsChad Smith
2019-10-21introduce .travis.ymlDaniel Watkins
This captures the CI testing that is currently performed by the Ubuntu Server Jenkins instance into a Travis configuration, which is part of the migration of cloud-init code hosting from Launchpad to GitHub.