diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index eafedc2f..3fa06e67 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,6 +1,7 @@ # Dependencies versions -ARG PYTHON_VERSION="3.7.10" +ARG PYTHON_VERSION="3.9.10" +# see https://hub.docker.com/_/python/?tab=tag FROM python:${PYTHON_VERSION}-buster # Dependencies versions @@ -11,11 +12,13 @@ ARG JDK_VERSION="2:1.11-71" ARG MAVEN_VERSION="3.6.0-1" RUN apt-get update && \ + apt-get upgrade -y && \ apt-get install -y --no-install-recommends build-essential && \ - apt-get install -y libffi-dev libssl-dev + apt-get install -y libffi-dev libssl-dev vim # Install python development dependencies ADD requirements_dev.txt requirements.txt /tmp/ +RUN python -m pip install --upgrade pip RUN pip install -r /tmp/requirements_dev.txt RUN \ diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 62183e94..ed340255 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -6,10 +6,12 @@ "dockerfile": "Dockerfile", "context": "..", }, + "runArgs": [ "--network", "host" ], + "postCreateCommand": "pip install -e .", "mounts": [ // Keep command history @@ -17,10 +19,12 @@ // Use hosts docker socket "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind", ], + // Set *default* container specific settings.json values on container create. "settings": { "#terminal.integrated.defaultProfile.linux#": "/bin/bash", }, + // Add the IDs of extensions you want installed when the container is created. "extensions": [ "ms-python.python", @@ -31,4 +35,4 @@ "yzhang.markdown-all-in-one", "davidanson.vscode-markdownlint" ] -} \ No newline at end of file +} diff --git a/.vscode/launch.json b/.vscode/launch.json index e546b534..0ee65b89 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -8,7 +8,7 @@ "module": "pytest", "args": [ "-v", - "${workspaceFolder}/tests/test_simulator.py::test_monitor" + "${workspaceFolder}/tests/test_iotedgedev_iothub_deploy.py::test_iothub_deploy" ], "cwd": "${workspaceFolder}" }, @@ -20,7 +20,7 @@ "args": [ "init" ], - "cwd": "${workspaceFolder}/tests/test_solution" + "cwd": "${workspaceFolder}/tests/test_iotedgedev_solution" } ] } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b42ad8c..e316f728 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ # Changelog All notable changes to this project since 0.82.0 will be documented in this file. +## [3.3.3] - 2022-03-15 +- Add support for python 3.8, 3.9 +- Lock simulator version at 0.14.12 +- Upgrade docker SDK to version 5.0.3 + ## [3.3.2] - 2022-03-02 - Lock simulator version at 0.14.11 diff --git a/iotedgedev/__init__.py b/iotedgedev/__init__.py index c5251055..9608d92e 100644 --- a/iotedgedev/__init__.py +++ b/iotedgedev/__init__.py @@ -2,5 +2,5 @@ __author__ = 'Microsoft Corporation' __email__ = 'opencode@microsoft.com' -__version__ = '3.3.2' -__AIkey__ = '95b20d64-f54f-4de3-8ad5-165a75a6c6fe' \ No newline at end of file +__version__ = '3.3.3' +__AIkey__ = '95b20d64-f54f-4de3-8ad5-165a75a6c6fe' diff --git a/requirements.txt b/requirements.txt index 384c1f9a..2c39d293 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,11 +1,12 @@ click==8.0.1 -docker==5.0.0 +docker==5.0.3 python-dotenv==0.19.0 requests==2.25.1 fstrings==0.1.0 msrestazure==0.4.34 -iotedgehubdev==0.14.11 +iotedgehubdev==0.14.12 applicationinsights==0.11.9 commentjson==0.9.0 +azure-cli-core==2.25.0 pypiwin32==219; sys_platform == 'win32' and python_version < '3.6' pypiwin32==223; sys_platform == 'win32' and python_version >= '3.6' diff --git a/requirements_dev.txt b/requirements_dev.txt index d95b99e9..c5e3491e 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -1,5 +1,4 @@ -r requirements.txt -pip==21.2.3 bumpversion==0.5.3 wheel==0.30.0 watchdog==0.8.3 diff --git a/setup.cfg b/setup.cfg index 176ee8c4..276bcb7e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 3.3.2 +current_version = 3.3.3 commit = True tag = True diff --git a/setup.py b/setup.py index 6431758b..42906284 100644 --- a/setup.py +++ b/setup.py @@ -13,7 +13,7 @@ 'requests >= 2.20.0, <= 2.25.1', 'fstrings', 'azure-cli-core >= 2.25.0', - 'iotedgehubdev == 0.14.11', + 'iotedgehubdev == 0.14.12', 'applicationinsights == 0.11.9', 'commentjson == 0.9.0', 'pyyaml>=4.1,<=4.2b4', @@ -31,7 +31,7 @@ setup( name='iotedgedev', - version='3.3.2', + version='3.3.3', description='The Azure IoT Edge Dev Tool greatly simplifies the IoT Edge development process by automating many routine manual tasks, such as building, deploying, pushing modules and configuring the IoT Edge Runtime.', long_description='See https://github.com/azure/iotedgedev for usage instructions.', author='Microsoft Corporation', @@ -48,7 +48,7 @@ license='MIT license', zip_safe=False, keywords='azure iot edge dev tool', - python_requires='>=3.6, <3.8', + python_requires='>=3.6, <3.10', classifiers=[ 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', @@ -56,7 +56,9 @@ 'Natural Language :: English', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7' + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9' ], test_suite='tests', tests_require=test_requirements, diff --git a/tests/__init__.py b/tests/__init__.py index bf2ff47d..625370a0 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -2,4 +2,4 @@ __author__ = 'Microsoft Corporation' __email__ = 'opencode@microsoft.com' -__version__ = '3.3.2' +__version__ = '3.3.3' diff --git a/tox.ini b/tox.ini index 0a244d84..f10b1d61 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py36, py37, py38 +envlist = py36, py37, py38, py39 #[travis] #python = @@ -11,9 +11,8 @@ envlist = py36, py37, py38 #commands=flake8 iotedgedev [testenv] -deps = - pytest - -rrequirements_dev.txt +deps = -rrequirements_dev.txt +#setenv = PIP_EXTRA_INDEX_URL=https://test.pypi.org/simple/ commands = pytest -s -v {posargs} #setenv = # PYTHONPATH = {toxinidir} diff --git a/vsts_ci/.vsts-ci.yml b/vsts_ci/.vsts-ci.yml index 96fc78f8..ff10d646 100644 --- a/vsts_ci/.vsts-ci.yml +++ b/vsts_ci/.vsts-ci.yml @@ -19,6 +19,12 @@ jobs: Python37: python.version: "3.7" TOXENV: "py37" + Python38: + python.version: "3.8" + TOXENV: "py38" + Python39: + python.version: "3.9" + TOXENV: "py39" maxParallel: 1 steps: - template: win32/continuous-build-win32.yml @@ -34,11 +40,17 @@ jobs: # Python37: # python.version: "3.7" # TOXENV: "py37" + # Python38: + # python.version: "3.8" + # TOXENV: "py38" + # Python39: + # python.version: "3.9" + # TOXENV: "py39" # maxParallel: 1 # steps: # - template: darwin/continuous-build-darwin.yml - - job: Linux + - job: Ubuntu18 pool: vmImage: ubuntu-18.04 strategy: @@ -49,6 +61,33 @@ jobs: Python37: python.version: "3.7" TOXENV: "py37" + Python38: + python.version: "3.8" + TOXENV: "py38" + Python39: + python.version: "3.9" + TOXENV: "py39" + maxParallel: 1 + steps: + - template: linux/continuous-build-linux.yml + + - job: Ubuntu20 + pool: + vmImage: ubuntu-20.04 + strategy: + matrix: + Python36: + python.version: "3.6" + TOXENV: "py36" + Python37: + python.version: "3.7" + TOXENV: "py37" + Python38: + python.version: "3.8" + TOXENV: "py38" + Python39: + python.version: "3.9" + TOXENV: "py39" maxParallel: 1 steps: - template: linux/continuous-build-linux.yml diff --git a/vsts_ci/win32/continuous-build-win32.yml b/vsts_ci/win32/continuous-build-win32.yml index e21ce219..c8fd55ab 100644 --- a/vsts_ci/win32/continuous-build-win32.yml +++ b/vsts_ci/win32/continuous-build-win32.yml @@ -13,7 +13,6 @@ steps: npm i -g iothub-explorer yo generator-azure-iot-edge-module az --version az extension add --name azure-iot - & "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe" -m pip install -U setuptools==52.0.0 displayName: "Install IoT Hub explorer, Yeoman and Azure IoT Edge Node.js module generator packages" - pwsh: |