Commit Graph

3270 Commits

Author SHA1 Message Date
Alex Willmer ac7505d624 tests: Add centos 8; debian 10, 11; ubuntu 16.04, 18.04, 20.04 test images 2021-02-21 20:52:58 +00:00
Alex Willmer 6bf58c3cfb tests: Don't add local user to Docker containers 2021-02-21 20:47:36 +00:00
Alex Willmer a8e8cf91cb tests: Rebuild Docker containers
A few changes are bundled in this
 - Ansible 2.10.x and Mitogen 0.3.x are used to build nearly all images
   (Ansile 2.3.x is retained for CentOS 5, because it uses Python 2.4).
 - Tox is used to install/run Ansible, replacing build_docker_images.py
 - A static inventory, identifying containers by name rather than ID.
 - debian-test image is renamed to debian9-test
 - debian9-test image is now based on debian:9
 - centos6-test image is now based on moreati/centos6-vault
   following the same scheme as centos5-test.
 - Images are now uploaded to Amazon Elastic Container Registry (ECR).
   See #809.
 - Debian recommended packages aren't installed (e.g. build-essential)
 - Python 2.x and Python 3.x are installed wherever available.
 - Python Virtualenv is installed wherever available.
2021-02-21 20:23:41 +00:00
Alex Willmer 60fbea4b59
Merge pull request #807 from moreati/issue-templates
chore: Add issue templates for 0.2 vs 0.3 releases
2021-02-12 06:47:30 +00:00
Alex Willmer 48e6da4f44 chore: Add issue templates for 0.2 vs 0.3 releases
These should automatically tag bug reports, reducing triage effort.
2021-02-09 21:35:14 +00:00
Alex Willmer ba27bd6445
Merge pull request #810 from moreati/issue809
tests: Fix throttling of Docker pulls
2021-02-09 21:33:38 +00:00
Alex Willmer e67e4b83b4 tests: Fix throttling of Docker pulls
fixes #809
2021-02-08 22:15:18 +00:00
Alex Willmer ab2a26b8f6
Merge pull request #785 from s1113950/pluginLoaderBadVersionErr
Checks Ansible version before loaders are loaded
2021-02-07 23:17:06 +00:00
Steven Robertson 234dde5fc1 check Ansible version before loaders are loaded 2021-02-07 13:09:17 -08:00
Steven Robertson 9546bd7328
Merge pull request #774 from moreati/distro-vs-distros
tests: Correct DISTRO vs DISTROS usage in CI configurations
2021-02-06 17:22:57 -08:00
Alex Willmer b71fbe528c
Merge branch 'master' into distro-vs-distros 2021-02-02 23:05:57 +00:00
Alex Willmer 59716a8788
Merge pull request #801 from moreati/0.3.0rc1-release
Prepare 0.3.0rc1 release
2021-01-31 21:02:36 +00:00
Alex Willmer 0aec57e793
Merge branch 'master' into 0.3.0rc1-release 2021-01-31 12:12:00 +00:00
Alex Willmer 1dd330d3a1
Merge pull request #783 from s1113950/fix0.3.0naming
fix 0.3.0-rc.0 version reporting
2021-01-31 12:10:25 +00:00
Alex Willmer e6892979f0
Merge branch 'master' into fix0.3.0naming 2021-01-31 08:38:02 +00:00
Steven Robertson a71a2915b8 change version to having separate tuple entries for each 2021-01-30 23:39:26 -08:00
Alex Willmer 9b1617f26f Bump version to 0.3.0rc1 2021-01-27 20:39:04 +00:00
Alex Willmer 28ea0067c6 setup: Add long_description, based on README 2021-01-27 20:35:49 +00:00
Alex Willmer a6387f69a8 setup: Declare MacOS/OSX support 2021-01-27 20:35:06 +00:00
Alex Willmer 0a28549c47 setup: Declare supported Python versions (2.4-2.7, 3.6+) 2021-01-27 20:21:35 +00:00
Alex Willmer 737e712024 setup: Update project URL 2021-01-27 20:20:30 +00:00
Alex Willmer f0ffd1616c Declare universal wheel support
This mean the package is single source compatible with Python 2.x and
3.x. There is no need to build separate wheels.
2021-01-27 20:19:56 +00:00
Alex Willmer c70244cdba
Merge pull request #739 from MetricMike/master
Fixes RuntimeWarning for improper buffering on local connection in Python 3.8+
2021-01-25 23:55:43 +00:00
Alex Willmer fd8c2d3702
Merge branch 'master' into master 2021-01-25 23:34:34 +00:00
Alex Willmer f835fe3953
Merge pull request #775 from moreati/python-3.9
tests: Add Python 3.9 coverage
2021-01-25 23:10:05 +00:00
Alex Willmer bce3bab3e8 Add the msvcrt moduleto the default module deny list
Commit https://github.com/python/cpython/commit/880d42a3b247 (first
released in Python 3.8a0) moved an import of msvcrt from an if <win32>
block, into a try/except block. So now the import is tried even on Linux
or MacOS.

https://docs.python.org/3/library/msvcrt.html is a Windows specific
builtin.
2021-01-25 22:18:36 +00:00
Alex Willmer ceb0a94467 Explain why the Python 2.x thread module is blacklisted
Based on the original commit I believe it is only an optimization.
However I could be wrong. I intend to request review of this part.
2021-01-25 22:18:36 +00:00
Alex Willmer 1e72ebaf8b tests: Update test coverage to Python 3.9
The Travis Linux distribution must be upgraded because the Trusty
(Ubuntu 14.04) image does not have Python 3.9. Xenial (Ubuntu 16.04) is
the earliest version that offers Python 3.9.

I have not chosen a later release, in order to aid restoration of Python
2.4 - 2.6 tests.
2021-01-25 22:18:25 +00:00
Alex Willmer 4b39013ef4 tests: Compatiblity shim for threading.Thread.is_alive()
On Python >= 3.8 thread.isAlive() is deprecated (removed in Python 3.9.
On Python <= 2.5 thread.is_alive() isn't present (added in Python 2.6).
2021-01-25 22:10:45 +00:00
Michael Weigle 6b5a46ccd0
Fixes RuntimeWarning for improper bufferring on local connection 2021-01-25 15:32:24 -05:00
Alex Willmer 522085ab35
Merge pull request #788 from moreati/tests-resource_intensive-tag
tests: Tag resource intensive tasks, to skip when strategy=linear
2021-01-25 07:55:10 +00:00
Alex Willmer 7cc9145360
Merge branch 'master' into tests-resource_intensive-tag 2021-01-24 09:17:10 +00:00
Alex Willmer a40f84839d
Merge pull request #797 from moreati/docstrings
tests: docstrings for ci_lib module use in Continuous Integration tests
2021-01-24 09:16:41 +00:00
Alex Willmer f5b3fab04c
Merge branch 'master' into docstrings 2021-01-24 02:38:23 +00:00
Alex Willmer 1a0951c664
Merge branch 'master' into tests-resource_intensive-tag 2021-01-24 01:00:11 +00:00
Alex Willmer ee17634c3b
Merge pull request #790 from moreati/docker-diet
tests: Move test container images to Amazon Elastic Container Registry
2021-01-24 00:59:40 +00:00
Alex Willmer 9111778823
Merge branch 'master' into docker-diet 2021-01-23 23:32:34 +00:00
Alex Willmer db354df331
Merge branch 'master' into fix0.3.0naming 2021-01-23 12:21:41 +00:00
Alex Willmer 6e0a01f8a0
Merge pull request #782 from moreati/tox
tests: Add unofficial Tox environments for Ansible tests
2021-01-23 12:21:07 +00:00
Alex Willmer 25446cd698 tests: Throttle docker pulls for Ansible tests
I hope this will prevent AWS Elastic Container Registry returning 429:
Too Many Requests error, due to the burst of activity from multiple VMs,
when a CI build begins.
2021-01-22 23:46:24 +00:00
Alex Willmer 99235071a3 tests: docstrings for ci_lib 2021-01-22 23:16:25 +00:00
Alex Willmer 1c7e107809 tests: Use AWS Elastic Container registry for test images
This replaces use of Docker Hub, which now rate limits API calls and
causing CI builds to fail.

refs #791
2021-01-22 00:31:19 +00:00
Alex Willmer adbed36dd9 tests: Avoid double docker pull on Azure Pipes 2021-01-21 19:34:47 +00:00
Alex Willmer bb271d8d00 tests: Tag resource intensive tasks, to skip when strategy=linear
The ansible_mitogen test suite takes over an hour when Ansible is not
accelerated by Mitogen. This change aims to reduce that by skipping
tests with a large number of iterations when the linear strategy is
chosen.

The tagged tests are intended to uncover Mitogen resource leaks. Since
Mitogen is not invoked when strategy=linear, the slight reduction in
test coverage is an acceptable trade off.
2021-01-20 20:58:35 +00:00
Alex Willmer 8ced7e2506
Merge branch 'master' into distro-vs-distros 2021-01-20 08:39:37 +00:00
Alex Willmer e8af5adcd7
Merge branch 'master' into tox 2021-01-19 19:01:47 +00:00
Alex Willmer 8654af738b
Merge pull request #784 from mitogen-hq/mitogen-hq-badges
Update badges for new mitogen-hq organisation
2021-01-19 19:00:59 +00:00
Alex Willmer 5b56f9a33a
Update badges for new mitogen-hq organisation
Moving the repository from dw/mitogen to mitogen-hq/mitogen has confused a few external services. This is part of the cleanup
2021-01-18 22:57:38 +00:00
Alex Willmer a64e966ab9 tests: Add unofficial Tox environments for Ansible tests
These are not part of the official testing regime (tests run for pull
requests). I find them convenient for local development.

Limitations
- Python 2.7+ only. No Python 2.4, 2.5, or 2.6.
- Requires Pythons pre-installed (e.g. DeadSnakes, pyenv)
- No coverage of alternate controller OS (e.g. MacOS)

The environments tested by default are

py27-mode_ansible-ansible2.10
py36-mode_ansible-ansible2.10
py39-mode_ansible-ansible2.10
py27-mode_mitogen
py36-mode_mitogen
py39-mode_mitogen
py27-mode_mitogen-distro_centos7
py36-mode_mitogen-distro_centos7
py39-mode_mitogen-distro_centos7
2021-01-18 21:52:22 +00:00
Steven Robertson e8af2c239c fix 0.3.0-rc.0 version reporting 2021-01-18 13:46:31 -08:00