Merge branch 'master' into docstrings
This commit is contained in:
commit
f5b3fab04c
|
@ -17,7 +17,7 @@ batches = [
|
|||
]
|
||||
|
||||
batches.extend(
|
||||
['docker pull %s' % (ci_lib.image_for_distro(distro),)]
|
||||
['docker pull %s' % (ci_lib.image_for_distro(distro),), 'sleep 1']
|
||||
for distro in ci_lib.DISTROS
|
||||
)
|
||||
|
||||
|
|
|
@ -66,8 +66,6 @@ with ci_lib.Fold('job_setup'):
|
|||
run("sudo apt-get update")
|
||||
run("sudo apt-get install -y sshpass")
|
||||
|
||||
run("bash -c 'sudo ln -vfs /usr/lib/python2.7/plat-x86_64-linux-gnu/_sysconfigdata_nd.py /usr/lib/python2.7 || true'")
|
||||
run("bash -c 'sudo ln -vfs /usr/lib/python2.7/plat-x86_64-linux-gnu/_sysconfigdata_nd.py $VIRTUAL_ENV/lib/python2.7 || true'")
|
||||
|
||||
with ci_lib.Fold('ansible'):
|
||||
playbook = os.environ.get('PLAYBOOK', 'all.yml')
|
||||
|
|
|
@ -254,14 +254,16 @@ def get_docker_hostname():
|
|||
|
||||
|
||||
def image_for_distro(distro):
|
||||
"""Return the docker image for running `distro` in a container.
|
||||
"""Return the container image name or path for a test distro name.
|
||||
|
||||
The returned value is suitable for use with `docker pull`.
|
||||
|
||||
>>> image_for_distro('centos5')
|
||||
'mitogen/centos5-test'
|
||||
'public.ecr.aws/n5z0e8q9/centos5-test'
|
||||
>>> image_for_distro('centos5-something_custom')
|
||||
'mitogen/centos5-test'
|
||||
'public.ecr.aws/n5z0e8q9/centos5-test'
|
||||
"""
|
||||
return 'mitogen/%s-test' % (distro.partition('-')[0],)
|
||||
return 'public.ecr.aws/n5z0e8q9/%s-test' % (distro.partition('-')[0],)
|
||||
|
||||
|
||||
def make_containers(name_prefix='', port_offset=0):
|
||||
|
|
|
@ -86,12 +86,4 @@ if need_to_fix_psycopg2:
|
|||
|
||||
batches.append(venv_steps)
|
||||
|
||||
|
||||
if ci_lib.have_docker():
|
||||
batches.extend(
|
||||
['docker pull %s' % (ci_lib.image_for_distro(distro),)]
|
||||
for distro in ci_lib.DISTROS
|
||||
)
|
||||
|
||||
|
||||
ci_lib.run_batches(batches)
|
||||
|
|
|
@ -51,10 +51,14 @@
|
|||
shell: whoami > /tmp/delegate_to.yml.txt
|
||||
delegate_to: localhost
|
||||
become: true
|
||||
tags:
|
||||
- requires_local_sudo
|
||||
|
||||
- name: "delegate_to, sudo"
|
||||
assert:
|
||||
that: "lookup('file', '/tmp/delegate_to.yml.txt') == 'root'"
|
||||
tags:
|
||||
- requires_local_sudo
|
||||
|
||||
- name: "delegate_to, sudo"
|
||||
file:
|
||||
|
@ -62,6 +66,8 @@
|
|||
state: absent
|
||||
delegate_to: localhost
|
||||
become: true
|
||||
tags:
|
||||
- requires_local_sudo
|
||||
|
||||
|
||||
#
|
||||
|
@ -71,10 +77,14 @@
|
|||
shell: whoami > /tmp/delegate_to.yml.txt
|
||||
connection: local
|
||||
become: true
|
||||
tags:
|
||||
- requires_local_sudo
|
||||
|
||||
- name: "connection:local, sudo"
|
||||
assert:
|
||||
that: "lookup('file', '/tmp/delegate_to.yml.txt') == 'root'"
|
||||
tags:
|
||||
- requires_local_sudo
|
||||
|
||||
- name: "connection:local, sudo"
|
||||
file:
|
||||
|
@ -82,3 +92,5 @@
|
|||
state: absent
|
||||
connection: local
|
||||
become: true
|
||||
tags:
|
||||
- requires_local_sudo
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
content: |
|
||||
#!/bin/bash
|
||||
export CUSTOM_INTERPRETER=1
|
||||
exec python2.7 "$@"
|
||||
exec python "$@"
|
||||
|
||||
- custom_python_detect_environment:
|
||||
vars:
|
||||
|
|
76
tox.ini
76
tox.ini
|
@ -1,44 +1,88 @@
|
|||
# This file is a local convenience. It is not a substitute for the full CI
|
||||
# suite, and does not cover the full range of Python versions for Mitogen.
|
||||
|
||||
# I use this on Ubuntu 20.04, with the following additions
|
||||
#
|
||||
# sudo add-apt-repository ppa:deadsnakes/ppa
|
||||
# sudo apt update
|
||||
# sudo apt install python3.5 python3.6 python3.7 python3.9 tox libsasl2-dev libldap2-dev libssl-dev ssh-pass
|
||||
|
||||
# Last version to support each python version
|
||||
#
|
||||
# tox vir'env pip ansible coverage
|
||||
# ========== ======== ======== ======== ======== ========
|
||||
# python2.4 1.4 1.8 1.1 ???
|
||||
# python2.5 1.6.1 1.9.1 1.3.1 ???
|
||||
# python2.6 2.9.1 15.2.0 9.0.3 2.6.20 4.5.4
|
||||
|
||||
[tox]
|
||||
envlist =
|
||||
init,
|
||||
py26,
|
||||
py27,
|
||||
py35,
|
||||
py36,
|
||||
py37,
|
||||
py{27,36,39}-mode_ansible-ansible2.10,
|
||||
py{27,36,39}-mode_mitogen,
|
||||
py{27,36,39}-mode_mitogen-distro_centos7,
|
||||
report,
|
||||
requires =
|
||||
tox-factor
|
||||
|
||||
[testenv]
|
||||
usedevelop = True
|
||||
deps =
|
||||
-r{toxinidir}/dev_requirements.txt
|
||||
-r{toxinidir}/tests/ansible/requirements.txt
|
||||
|
||||
basepython =
|
||||
py26: python2.6
|
||||
py27: python2.7
|
||||
py36: python3.6
|
||||
py37: python3.7
|
||||
py38: python3.8
|
||||
py39: python3.9
|
||||
commands_pre =
|
||||
mode_ansible: {toxinidir}/.ci/ansible_install.py
|
||||
mode_debops_common: {toxinidir}/.ci/debops_common_install.py
|
||||
mode_mitogen: {toxinidir}/.ci/mitogen_install.py
|
||||
commands =
|
||||
{posargs:bash run_tests}
|
||||
whitelist_externals =
|
||||
bash
|
||||
mode_ansible: {toxinidir}/.ci/ansible_tests.py \
|
||||
--skip-tags requires_local_sudo
|
||||
mode_debops_common: {toxinidir}/.ci/debops_common_tests.py
|
||||
mode_mitogen: {toxinidir}/.ci/mitogen_tests.py
|
||||
passenv =
|
||||
HOME
|
||||
setenv =
|
||||
NOCOVERAGE_ERASE = 1
|
||||
NOCOVERAGE_REPORT = 1
|
||||
ansible2.3: VER=2.3.3.0
|
||||
ansible2.4: VER=2.4.6.0
|
||||
ansible2.8: VER=2.8.3
|
||||
ansible2.9: VER=2.9.6
|
||||
ansible2.10: VER=2.10.0
|
||||
distro_centos5: DISTRO=centos5
|
||||
distro_centos6: DISTRO=centos6
|
||||
distro_centos7: DISTRO=centos7
|
||||
distro_debian: DISTRO=debian
|
||||
distro_debianpy3: DISTRO=debian-py3
|
||||
distros_centos5: DISTROS=centos5
|
||||
distros_debian: DISTROS=debian
|
||||
mode_ansible: MODE=ansible
|
||||
mode_debops_common: MODE=debops_common
|
||||
mode_mitogen: MODE=mitogen
|
||||
strategy_linear: STRATEGY=linear
|
||||
|
||||
[testenv:init]
|
||||
basepython = python3
|
||||
commands =
|
||||
coverage erase
|
||||
deps =
|
||||
coverage
|
||||
coverage==4.5.4
|
||||
|
||||
[testenv:report]
|
||||
basepython = python3
|
||||
commands =
|
||||
coverage html
|
||||
echo "coverage report is at file://{toxinidir}/htmlcov/index.html"
|
||||
deps =
|
||||
coverage
|
||||
coverage==4.5.4
|
||||
whitelist_externals =
|
||||
echo
|
||||
|
||||
[testenv:docs]
|
||||
basepython = python
|
||||
basepython = python3
|
||||
changedir = docs
|
||||
commands =
|
||||
sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html
|
||||
|
|
Loading…
Reference in New Issue