Merge pull request #868 from moreati/cleanup

Bump version, streamline output from tests, misc cleanups
pull/869/head
Alex Willmer 3 years ago committed by GitHub
commit 7e2f92191a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -4,10 +4,6 @@ import ci_lib
batches = [ batches = [
[ [
# Must be installed separately, as PyNACL indirect requirement causes
# newer version to be installed if done in a single pip run.
# Separately install ansible based on version passed in from azure-pipelines.yml or .travis.yml
'pip install "pycparser<2.19" "idna<2.7"',
'pip install ' 'pip install '
'-r tests/requirements.txt ' '-r tests/requirements.txt '
'-r tests/ansible/requirements.txt', '-r tests/ansible/requirements.txt',

@ -70,7 +70,7 @@ with ci_lib.Fold('job_setup'):
with ci_lib.Fold('ansible'): with ci_lib.Fold('ansible'):
playbook = os.environ.get('PLAYBOOK', 'all.yml') playbook = os.environ.get('PLAYBOOK', 'all.yml')
try: try:
run('./run_ansible_playbook.py %s -i "%s" -vvv %s', run('./run_ansible_playbook.py %s -i "%s" %s',
playbook, HOSTS_DIR, ' '.join(sys.argv[1:])) playbook, HOSTS_DIR, ' '.join(sys.argv[1:]))
except: except:
pause_if_interactive() pause_if_interactive()

@ -3,6 +3,11 @@
# Add steps that analyze code, save the dist with the build record, publish to a PyPI-compatible index, and more: # Add steps that analyze code, save the dist with the build record, publish to a PyPI-compatible index, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/python # https://docs.microsoft.com/azure/devops/pipelines/languages/python
# User defined variables are also injected as environment variables
# https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables#environment-variables
#variables:
#ANSIBLE_VERBOSITY: 3
jobs: jobs:
- job: Mac - job: Mac

@ -167,7 +167,7 @@ def get_output(s, *args, **kwargs):
def exists_in_path(progname): def exists_in_path(progname):
""" """
Return True if proganme exists in $PATH. Return True if progname exists in $PATH.
>>> exists_in_path('echo') >>> exists_in_path('echo')
True True

@ -7,9 +7,6 @@ ci_lib.DISTROS = ['debian']
ci_lib.run_batches([ ci_lib.run_batches([
[ [
# Must be installed separately, as PyNACL indirect requirement causes
# newer version to be installed if done in a single pip run.
'pip install "pycparser<2.19"',
'pip install -qqq "debops[ansible]==2.1.2" "ansible-base<2.10.14" "ansible=={}"'.format(ci_lib.ANSIBLE_VERSION), 'pip install -qqq "debops[ansible]==2.1.2" "ansible-base<2.10.14" "ansible=={}"'.format(ci_lib.ANSIBLE_VERSION),
], ],
[ [

@ -4,11 +4,6 @@ import ci_lib
batches = [ batches = [
[ [
# Must be installed separately, as PyNACL indirect requirement causes
# newer version to be installed if done in a single pip run.
# Separately install ansible based on version passed in from azure-pipelines.yml or .travis.yml
# Don't set -U as that will upgrade Paramiko to a non-2.6 compatible version.
'pip install "pycparser<2.19" "idna<2.7" virtualenv',
'pip install ' 'pip install '
'-r tests/requirements.txt ' '-r tests/requirements.txt '
'-r tests/ansible/requirements.txt', '-r tests/ansible/requirements.txt',

@ -46,11 +46,11 @@ with ci_lib.Fold('machine_prep'):
if os.path.expanduser('~mitogen__user1') == '~mitogen__user1': if os.path.expanduser('~mitogen__user1') == '~mitogen__user1':
os.chdir(IMAGE_PREP_DIR) os.chdir(IMAGE_PREP_DIR)
run("ansible-playbook -c local -i localhost, _user_accounts.yml -vvv") run("ansible-playbook -c local -i localhost, _user_accounts.yml")
with ci_lib.Fold('ansible'): with ci_lib.Fold('ansible'):
os.chdir(TESTS_DIR) os.chdir(TESTS_DIR)
playbook = os.environ.get('PLAYBOOK', 'all.yml') playbook = os.environ.get('PLAYBOOK', 'all.yml')
run('./run_ansible_playbook.py %s -l target %s -vvv', run('./run_ansible_playbook.py %s -l target %s',
playbook, ' '.join(sys.argv[1:])) playbook, ' '.join(sys.argv[1:]))

@ -4,7 +4,6 @@ import ci_lib
batches = [ batches = [
[ [
'pip install "pycparser<2.19" "idna<2.7"',
'pip install -r tests/requirements.txt', 'pip install -r tests/requirements.txt',
] ]
] ]

@ -17,8 +17,13 @@ Release Notes
To avail of fixes in an unreleased version, please download a ZIP file To avail of fixes in an unreleased version, please download a ZIP file
`directly from GitHub <https://github.com/dw/mitogen/>`_. `directly from GitHub <https://github.com/dw/mitogen/>`_.
v0.3.0 (unreleased)
-------------------- v0.3.1.dev0 (unreleased)
------------------------
v0.3.0 (2021-11-24)
-------------------
This release separates itself from the v0.2.X releases. Ansible's API changed too much to support backwards compatibility so from now on, v0.2.X releases will be for Ansible < 2.10 and v0.3.X will be for Ansible 2.10+. This release separates itself from the v0.2.X releases. Ansible's API changed too much to support backwards compatibility so from now on, v0.2.X releases will be for Ansible < 2.10 and v0.3.X will be for Ansible 2.10+.
`See here for details <https://github.com/dw/mitogen pull/715#issuecomment-750697248>`_. `See here for details <https://github.com/dw/mitogen pull/715#issuecomment-750697248>`_.
@ -30,7 +35,7 @@ This release separates itself from the v0.2.X releases. Ansible's API changed to
* :gh:issue:`847` Removed historic Continuous Integration reverse shell * :gh:issue:`847` Removed historic Continuous Integration reverse shell
v0.2.10 (unreleased) v0.2.10 (2021-11-24)
-------------------- --------------------
* :gh:issue:`597` mitogen does not support Ansible 2.8 Python interpreter detection * :gh:issue:`597` mitogen does not support Ansible 2.8 Python interpreter detection

@ -813,7 +813,7 @@ executes under the runtime importer lock, ensuring :py:keyword:`import`
statements executing in local threads are serialized. statements executing in local threads are serialized.
.. note:: .. note::
In Python 2, :py:exc:`ImportError` is raised when :py:keyword:`import` is In Python 2, :py:exc:`ImportError` is raised when :py:keyword:`import` is
attempted while the runtime import lock is held by another thread, attempted while the runtime import lock is held by another thread,
therefore imports must be serialized by only attempting them from the main therefore imports must be serialized by only attempting them from the main

@ -35,7 +35,7 @@ be expected. On the slave, it is built dynamically during startup.
#: Library version as a tuple. #: Library version as a tuple.
__version__ = (0, 3, 0, 'rc', 1) __version__ = (0, 3, 1, 'dev0')
#: This is :data:`False` in slave contexts. Previously it was used to prevent #: This is :data:`False` in slave contexts. Previously it was used to prevent

@ -90,7 +90,7 @@ def merge_stats(outpath, inpaths):
break break
time.sleep(0.2) time.sleep(0.2)
stats.dump_stats(outpath) pstats.dump_stats(outpath)
def generate_stats(outpath, tmpdir): def generate_stats(outpath, tmpdir):

@ -26,6 +26,7 @@
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import ast
import os import os
from setuptools import find_packages, setup from setuptools import find_packages, setup
@ -37,7 +38,8 @@ def grep_version():
for line in fp: for line in fp:
if line.startswith('__version__'): if line.startswith('__version__'):
_, _, s = line.partition('=') _, _, s = line.partition('=')
return '%i.%i.%i%s%i' % eval(s) parts = ast.literal_eval(s.strip())
return '.'.join(str(part) for part in parts)
def long_description(): def long_description():

@ -5,7 +5,11 @@ strategy_plugins = ../../ansible_mitogen/plugins/strategy
inventory_plugins = lib/inventory inventory_plugins = lib/inventory
action_plugins = lib/action action_plugins = lib/action
callback_plugins = lib/callback callback_plugins = lib/callback
stdout_callback = nice_stdout stdout_callback = yaml
stdout_whitelist =
profile_roles,
timer,
yaml
vars_plugins = lib/vars vars_plugins = lib/vars
library = lib/modules library = lib/modules
filter_plugins = lib/filters filter_plugins = lib/filters
@ -31,6 +35,9 @@ timeout = 10
# On Travis, paramiko check fails due to host key checking enabled. # On Travis, paramiko check fails due to host key checking enabled.
host_key_checking = False host_key_checking = False
[callback_profile_tasks]
task_output_limit = 10
[ssh_connection] [ssh_connection]
ssh_args = -o UserKnownHostsFile=/dev/null -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s ssh_args = -o UserKnownHostsFile=/dev/null -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s
pipelining = True pipelining = True

@ -1,11 +1,11 @@
psutil==5.4.8 psutil==5.4.8
coverage==4.5.1 coverage==4.5.1
Django==1.6.11 # Last version supporting 2.6. Django==1.6.11 # Last version supporting 2.6.
faulthandler==3.2; python_version < '3.3'
mock==2.0.0 mock==2.0.0
pytz==2018.5 pytz==2018.5
cffi==1.14.3 # Random pin to try and fix pyparser==2.18 not having effect cffi==1.14.3 # Random pin to try and fix pyparser==2.18 not having effect
pycparser==2.18 # Last version supporting 2.6. pycparser==2.18 # Last version supporting 2.6.
faulthandler==3.1; python_version < '3.3' # used by testlib
pytest-catchlog==1.2.2 pytest-catchlog==1.2.2
pytest==3.1.2 pytest==3.1.2
timeoutcontext==1.2.0 timeoutcontext==1.2.0
@ -16,3 +16,4 @@ urllib3[secure]==1.23; python_version < '2.7'
urllib3[secure]==1.26; python_version > '2.6' and python_version < '2.7.9' urllib3[secure]==1.26; python_version > '2.6' and python_version < '2.7.9'
# Last idna compatible with Python 2.6 was idna 2.7. # Last idna compatible with Python 2.6 was idna 2.7.
idna==2.7; python_version < '2.7' idna==2.7; python_version < '2.7'
virtualenv==20.10.0

@ -144,7 +144,7 @@ def wait_for_port(
if not pattern: if not pattern:
# Success: We connected & there's no banner check to perform. # Success: We connected & there's no banner check to perform.
sock.shutdown(socket.SHUTD_RDWR) sock.shutdown(socket.SHUT_RDWR)
sock.close() sock.close()
return return

Loading…
Cancel
Save