Skip to content

Commit

Permalink
Update collections import for later python versions > 3.3 (#40)
Browse files Browse the repository at this point in the history
* Update collections import for later python versions > 3.3

* Move to GH actions

* update makefile

Extra 0 for python version

* run tests via nameko

prevents hanging

* bump version premptively

* bump from deprecated action versions
  • Loading branch information
stephenc-pace committed Feb 2, 2023
1 parent 0f9e321 commit 3727bcc
Show file tree
Hide file tree
Showing 6 changed files with 120 additions and 4 deletions.
94 changes: 94 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
on:
push:
branches:
- "**"
tags:
- "v*"
pull_request:
branches:
- master

workflow_dispatch:

jobs:
static:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v3

- name: setup python
uses: actions/setup-python@v4
with:
python-version: 3.9

- name: install test dependencies
run: |
python -m pip install --upgrade pip
pip install tox
- name: run tox
run: tox
env:
TOXENV: static

test:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version:
- 3.6
- 3.7
- 3.8
- 3.9
- 3.10.0

steps:
- name: checkout
uses: actions/checkout@v3

- name: setup python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: start rabbitmq
run: |
docker run -d --hostname rabbitmq --name rabbitmq -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=guest -e RABBITMQ_DEFAULT_PASS=guest rabbitmq:3.8-management
- name: install test dependencies
run: |
python -m pip install --upgrade pip
pip install tox
- name: run tox
run: tox
env:
TOXENV: py${{ matrix.python-version }}-test

distribute:
runs-on: ubuntu-latest
needs:
- static
- test
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')

steps:
- name: checkout
uses: actions/checkout@v3

- name: setup python
uses: actions/setup-python@v4
with:
python-version: 3.9

- name: generate distributables
run: |
pip install wheel
python setup.py sdist bdist_wheel
- name: publish to pypi
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ stages:

jobs:
include:
- python: 3.10.0
env: DEPS="nameko==3.0.0-rc11"
- python: 3.6
env: DEPS="--pre nameko"
- python: 3.6
Expand Down
4 changes: 3 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ flake8:
pylint:
pylint nameko_tracer -E

static: flake8 pylint

pytest:
coverage run --concurrency=eventlet --source nameko_tracer --branch -m pytest tests
coverage run --concurrency=eventlet --source nameko_tracer --branch -m nameko test
coverage report --show-missing --fail-under=100
9 changes: 7 additions & 2 deletions nameko_tracer/utils.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
import collections
from importlib import import_module
import json
import logging
import sys

if sys.version_info >= (3, 3): # pragma: no cover
from collections.abc import Iterable # pylint: disable=E0611,E0401
else: # pragma: no cover
from collections import Iterable # pylint: disable=E0611,E0401

import six

Expand Down Expand Up @@ -31,7 +36,7 @@ def safe_for_serialisation(value):
return {
safe_for_serialisation(key): safe_for_serialisation(val)
for key, val in six.iteritems(value)}
if isinstance(value, collections.Iterable):
if isinstance(value, Iterable):
return list(map(safe_for_serialisation, value))
try:
return six.text_type(value)
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

setup(
name='nameko-tracer',
version='1.3.0',
version='1.4.0',
description='Nameko extension logging entrypoint processing metrics',
author='student.com',
author_email='[email protected]',
Expand Down
13 changes: 13 additions & 0 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[tox]
envlist = static, {py3.6,py3.7,py3.8,py3.9,py3.10}-test
skipsdist = True

[testenv]
allowlist_externals = make

commands =
static: pip install --editable .[dev]
static: make static

test: pip install --editable .[dev]
test: make pytest

0 comments on commit 3727bcc

Please sign in to comment.