diff --git a/.github/workflows/nightly-tests.yml b/.github/workflows/nightly-tests.yml index 5c180f8fdd..2df04b29b2 100644 --- a/.github/workflows/nightly-tests.yml +++ b/.github/workflows/nightly-tests.yml @@ -13,10 +13,7 @@ jobs: fail-fast: false matrix: os: ["ubuntu-latest"] - python-version: ["3.7", "3.8", "3.9", "3.10"] - include: - - os: "ubuntu-20.04" - python-version: "3.6" + python-version: ["3.9", "3.10"] uses: ./.github/workflows/tests.yml with: python-version: ${{ matrix.python-version }} @@ -29,10 +26,7 @@ jobs: fail-fast: false matrix: os: ["ubuntu-latest"] - python-version: ["3.7", "3.8", "3.9", "3.10"] - include: - - os: "ubuntu-20.04" - python-version: "3.6" + python-version: ["3.9", "3.10"] uses: ./.github/workflows/tests-indy.yml with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/pr-tests.yml b/.github/workflows/pr-tests.yml index 851ea9cf35..1bb0c3db34 100644 --- a/.github/workflows/pr-tests.yml +++ b/.github/workflows/pr-tests.yml @@ -8,13 +8,13 @@ jobs: name: Tests uses: ./.github/workflows/tests.yml with: - python-version: "3.6" - os: "ubuntu-20.04" + python-version: "3.9" + os: "ubuntu-latest" tests-indy: name: Tests (Indy) uses: ./.github/workflows/tests-indy.yml with: - python-version: "3.6" + python-version: "3.9" indy-version: "1.16.0" - os: "ubuntu-20.04" + os: "ubuntu-latest" diff --git a/.github/workflows/publish-indy.yml b/.github/workflows/publish-indy.yml index 0fd219e0f6..17f479c8e6 100644 --- a/.github/workflows/publish-indy.yml +++ b/.github/workflows/publish-indy.yml @@ -45,7 +45,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.6', '3.9'] + python-version: ['3.9'] name: Publish ACA-Py Image (Indy) runs-on: ubuntu-latest diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index bb057f432e..c7fb22c396 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -30,7 +30,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.6', '3.9'] + python-version: ['3.9'] name: Publish ACA-Py Image runs-on: ubuntu-latest diff --git a/ContainerImagesAndGithubActions.md b/ContainerImagesAndGithubActions.md index 25bfca9dc8..359c22a9d8 100644 --- a/ContainerImagesAndGithubActions.md +++ b/ContainerImagesAndGithubActions.md @@ -47,13 +47,8 @@ Below is a table of all generated images and their tags: Tag | Variant | Example | Description | ------------------------|----------|--------------------------|-------------------------------------------------------------------------------------------------| -py3.6-X.Y.Z | Standard | py3.6-0.7.4 | Standard image variant built on Python 3.6 for ACA-Py version X.Y.Z | -py3.7-X.Y.Z | Standard | py3.7-0.7.4 | Standard image variant built on Python 3.7 for ACA-Py version X.Y.Z | -py3.8-X.Y.Z | Standard | py3.8-0.7.4 | Standard image variant built on Python 3.8 for ACA-Py version X.Y.Z | py3.9-X.Y.Z | Standard | py3.9-0.7.4 | Standard image variant built on Python 3.9 for ACA-Py version X.Y.Z | py3.10-X.Y.Z | Standard | py3.10-0.7.4 | Standard image variant built on Python 3.10 for ACA-Py version X.Y.Z | -py3.7-indy-A.B.C-X.Y.Z | Indy | py3.7-indy-1.16.0-0.7.4 | Standard image variant built on Python 3.7 for ACA-Py version X.Y.Z and Indy SDK Version A.B.C | -py3.8-indy-A.B.C-X.Y.Z | Indy | py3.8-indy-1.16.0-0.7.4 | Standard image variant built on Python 3.8 for ACA-Py version X.Y.Z and Indy SDK Version A.B.C | py3.9-indy-A.B.C-X.Y.Z | Indy | py3.9-indy-1.16.0-0.7.4 | Standard image variant built on Python 3.9 for ACA-Py version X.Y.Z and Indy SDK Version A.B.C | py3.10-indy-A.B.C-X.Y.Z | Indy | py3.10-indy-1.16.0-0.7.4 | Standard image variant built on Python 3.10 for ACA-Py version X.Y.Z and Indy SDK Version A.B.C | diff --git a/demo/docker-agent/Dockerfile.acapy b/demo/docker-agent/Dockerfile.acapy index a8eee30ae0..ca2b86500d 100644 --- a/demo/docker-agent/Dockerfile.acapy +++ b/demo/docker-agent/Dockerfile.acapy @@ -1,4 +1,4 @@ -FROM bcgovimages/aries-cloudagent:py36-1.16-1_1.0.0-rc0 +FROM ghcr.io/hyperledger/aries-cloudagent-python:py3.9-indy-1.16.0-0.8.1 USER root diff --git a/demo/docker-test/docker-compose-agent.yml b/demo/docker-test/docker-compose-agent.yml index b76c8e93f9..dbf43eb976 100644 --- a/demo/docker-test/docker-compose-agent.yml +++ b/demo/docker-test/docker-compose-agent.yml @@ -1,7 +1,6 @@ version: "3" services: vcr-agent: - #image: bcgovimages/aries-cloudagent:py36-1.16-1_0.7.5 build: context: ../../ dockerfile: docker/Dockerfile.run diff --git a/demo/multi-demo/Dockerfile.acapy b/demo/multi-demo/Dockerfile.acapy index a8eee30ae0..ca2b86500d 100644 --- a/demo/multi-demo/Dockerfile.acapy +++ b/demo/multi-demo/Dockerfile.acapy @@ -1,4 +1,4 @@ -FROM bcgovimages/aries-cloudagent:py36-1.16-1_1.0.0-rc0 +FROM ghcr.io/hyperledger/aries-cloudagent-python:py3.9-indy-1.16.0-0.8.1 USER root diff --git a/demo/run_bdd b/demo/run_bdd index a8306aa947..be3ae3ea3a 100755 --- a/demo/run_bdd +++ b/demo/run_bdd @@ -126,6 +126,7 @@ AGENT_PORT=8020 AGENT_PORT_RANGE=8020-8079 echo "Preparing agent image..." +docker build -q -t indy-base -f ../docker/Dockerfile.indy --target=indy-base .. || exit 1 docker build -q -t faber-alice-demo -f ../docker/Dockerfile.demo .. || exit 1 docker build -q -t aries-bdd-image -f ../docker/Dockerfile.bdd .. || exit 1 diff --git a/demo/runners/support/agent.py b/demo/runners/support/agent.py index 06d1765eb0..c6c91e5b57 100644 --- a/demo/runners/support/agent.py +++ b/demo/runners/support/agent.py @@ -1,4 +1,5 @@ import asyncio +from concurrent.futures import ThreadPoolExecutor import asyncpg import base64 import functools @@ -185,6 +186,7 @@ def __init__( self.params = params self.proc = None self.client_session: ClientSession = ClientSession() + self.thread_pool_executor = ThreadPoolExecutor(20) if self.endorser_role and self.endorser_role == "author": seed = None @@ -695,13 +697,13 @@ def _process(self, args, env, loop): close_fds=True, ) loop.run_in_executor( - None, + self.thread_pool_executor, output_reader, proc.stdout, functools.partial(self.handle_output, source="stdout"), ) loop.run_in_executor( - None, + self.thread_pool_executor, output_reader, proc.stderr, functools.partial(self.handle_output, source="stderr"), @@ -726,7 +728,9 @@ async def start_process(self, python_path: str = None, wait: bool = True): # start agent sub-process loop = asyncio.get_event_loop() - future = loop.run_in_executor(None, self._process, agent_args, my_env, loop) + future = loop.run_in_executor( + self.thread_pool_executor, self._process, agent_args, my_env, loop + ) self.proc = await asyncio.wait_for(future, 20, loop=loop) if wait: await asyncio.sleep(1.0) @@ -753,7 +757,7 @@ async def terminate(self): # now shut down the agent loop = asyncio.get_event_loop() if self.proc: - future = loop.run_in_executor(None, self._terminate) + future = loop.run_in_executor(self.thread_pool_executor, self._terminate) result = await asyncio.wait_for(future, 10, loop=loop) async def listen_webhooks(self, webhook_port): diff --git a/docker/Dockerfile.demo b/docker/Dockerfile.demo index cd15363bf0..efa3ae1e93 100644 --- a/docker/Dockerfile.demo +++ b/docker/Dockerfile.demo @@ -1,4 +1,4 @@ -FROM bcgovimages/von-image:py36-1.15-1 +FROM indy-base ENV ENABLE_PTVSD 0 ENV ENABLE_PYDEVD_PYCHARM 0 diff --git a/docker/Dockerfile.test b/docker/Dockerfile.test index 6a1b4df76a..117c0e29bf 100644 --- a/docker/Dockerfile.test +++ b/docker/Dockerfile.test @@ -1,5 +1,5 @@ -ARG python_version=3.6.13 -FROM python:${python_version}-slim-buster +ARG python_version=3.9.16 +FROM python:${python_version}-slim-bullseye RUN apt-get update -y && \ apt-get install -y --no-install-recommends \ diff --git a/setup.py b/setup.py index d4a4d26ff0..049955820b 100644 --- a/setup.py +++ b/setup.py @@ -41,7 +41,7 @@ def parse_requirements(filename): "bbs": parse_requirements("requirements.bbs.txt"), "uvloop": {"uvloop": "^=0.14.0"}, }, - python_requires=">=3.6.3", + python_requires=">=3.9", classifiers=[ "Programming Language :: Python :: 3", "License :: OSI Approved :: Apache Software License",