From dd2c8039ffd6f529f28d4eb86d8d6f581fa8e4d1 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Fri, 23 Jun 2023 10:12:31 +0200 Subject: [PATCH 1/4] Minor fix: quotes upgrade expression --- requirements/base.Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/base.Makefile b/requirements/base.Makefile index 5ae5885ccea..fc33d5107b5 100644 --- a/requirements/base.Makefile +++ b/requirements/base.Makefile @@ -9,7 +9,7 @@ REPO_BASE_DIR := $(shell git rev-parse --show-toplevel) .DEFAULT_GOAL := help DO_CLEAN_OR_UPGRADE:=$(if $(clean),,--upgrade) -UPGRADE_OPTION := $(if $(upgrade),--upgrade-package $(upgrade),$(DO_CLEAN_OR_UPGRADE)) +UPGRADE_OPTION := $(if $(upgrade),--upgrade-package "$(upgrade)",$(DO_CLEAN_OR_UPGRADE)) objects = $(sort $(wildcard *.in)) From 7834a58786c2ea345128476f484ad97123971a94 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Fri, 23 Jun 2023 10:13:11 +0200 Subject: [PATCH 2/4] general upgrade of api-server --- services/api-server/requirements/_base.txt | 104 +++++++++++--------- services/api-server/requirements/_test.txt | 66 +++++++------ services/api-server/requirements/_tools.txt | 12 +-- 3 files changed, 99 insertions(+), 83 deletions(-) diff --git a/services/api-server/requirements/_base.txt b/services/api-server/requirements/_base.txt index 474b1db904e..c95a3710b42 100644 --- a/services/api-server/requirements/_base.txt +++ b/services/api-server/requirements/_base.txt @@ -4,11 +4,11 @@ # # pip-compile --output-file=requirements/_base.txt --resolver=backtracking --strip-extras requirements/_base.in # -aio-pika==9.1.2 +aio-pika==9.1.3 # via # -c requirements/../../../packages/service-library/requirements/./_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in -aiocache==0.11.1 +aiocache==0.12.1 # via -r requirements/../../../packages/simcore-sdk/requirements/_base.in aiodebug==2.3.0 # via @@ -18,11 +18,11 @@ aiodocker==0.21.0 # via # -c requirements/../../../packages/service-library/requirements/./_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in -aiofiles==0.8.0 +aiofiles==23.1.0 # via # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/_base.in -aiohttp==3.8.3 +aiohttp==3.8.4 # via # -c requirements/../../../packages/service-library/requirements/./../../../requirements/constraints.txt # -r requirements/../../../packages/simcore-sdk/requirements/_base.in @@ -33,23 +33,21 @@ aiopg==1.4.0 # -r requirements/_base.in aiormq==6.7.6 # via aio-pika -aiosignal==1.2.0 +aiosignal==1.3.1 # via aiohttp -alembic==1.8.1 +alembic==1.11.1 # via # -r requirements/../../../packages/postgres-database/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.in -anyio==3.6.2 +anyio==3.7.0 # via # httpcore # starlette - # watchgod + # watchfiles arrow==1.2.3 # via # -c requirements/../../../packages/service-library/requirements/./_base.in # -r requirements/../../../packages/models-library/requirements/_base.in -asgiref==3.5.2 - # via uvicorn async-timeout==4.0.2 # via # aiohttp @@ -62,50 +60,52 @@ attrs==21.4.0 # -c requirements/../../../packages/service-library/requirements/././constraints.txt # aiohttp # jsonschema -certifi==2022.12.7 +certifi==2023.5.7 # via # httpcore # httpx -cffi==1.15.0 +cffi==1.15.1 # via cryptography -charset-normalizer==2.0.12 +charset-normalizer==3.1.0 # via aiohttp click==8.1.3 # via # typer # uvicorn -cryptography==39.0.1 +cryptography==41.0.1 # via -r requirements/_base.in -dnspython==2.2.1 +dnspython==2.3.0 # via email-validator -email-validator==1.2.1 +email-validator==2.0.0.post2 # via # fastapi # pydantic -fastapi==0.96.0 +exceptiongroup==1.1.1 + # via anyio +fastapi==0.98.0 # via # -r requirements/../../../packages/service-library/requirements/_fastapi.in # -r requirements/_base.in -frozenlist==1.3.0 +frozenlist==1.3.3 # via # aiohttp # aiosignal greenlet==2.0.2 # via sqlalchemy -h11==0.12.0 +h11==0.14.0 # via # httpcore # uvicorn -httpcore==0.15.0 +httpcore==0.17.2 # via httpx -httptools==0.2.0 +httptools==0.5.0 # via uvicorn -httpx==0.24.0 +httpx==0.24.1 # via # -r requirements/../../../packages/service-library/requirements/_fastapi.in # -r requirements/_base.in # fastapi -idna==3.3 +idna==3.4 # via # anyio # email-validator @@ -121,19 +121,23 @@ jsonschema==3.2.0 # via # -c requirements/../../../packages/service-library/requirements/././constraints.txt # -r requirements/../../../packages/models-library/requirements/_base.in -mako==1.2.2 +mako==1.2.4 # via # -c requirements/../../../packages/service-library/requirements/./../../../requirements/constraints.txt # alembic -markupsafe==2.1.1 +markdown-it-py==3.0.0 + # via rich +markupsafe==2.1.3 # via # jinja2 # mako -multidict==6.0.2 +mdurl==0.1.2 + # via markdown-it-py +multidict==6.0.4 # via # aiohttp # yarl -orjson==3.7.2 +orjson==3.9.1 # via # -r requirements/_base.in # fastapi @@ -143,7 +147,7 @@ packaging==23.1 # -r requirements/_base.in pamqp==3.2.1 # via aiormq -pint==0.19.2 +pint==0.22 # via -r requirements/../../../packages/simcore-sdk/requirements/_base.in psycopg2-binary==2.9.6 # via @@ -151,24 +155,26 @@ psycopg2-binary==2.9.6 # sqlalchemy pycparser==2.21 # via cffi -pydantic==1.9.0 +pydantic==1.10.9 # via # -r requirements/../../../packages/models-library/requirements/_base.in # -r requirements/_base.in # fastapi -pyinstrument==4.1.1 +pygments==2.15.1 + # via rich +pyinstrument==4.5.0 # via # -c requirements/../../../packages/service-library/requirements/./_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in -pyrsistent==0.18.1 +pyrsistent==0.19.3 # via jsonschema python-dateutil==2.8.2 # via arrow -python-dotenv==0.20.0 +python-dotenv==1.0.0 # via # pydantic # uvicorn -python-multipart==0.0.5 +python-multipart==0.0.6 # via fastapi pyyaml==5.4.1 # via @@ -176,21 +182,24 @@ pyyaml==5.4.1 # -r requirements/_base.in # fastapi # uvicorn -redis==4.5.4 +redis==4.5.5 # via # -c requirements/../../../packages/service-library/requirements/./_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in +rich==13.4.2 + # via + # -r requirements/../../../packages/settings-library/requirements/_base.in + # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/settings-library/requirements/_base.in six==1.16.0 # via # jsonschema # python-dateutil - # python-multipart -sniffio==1.2.0 +sniffio==1.3.0 # via # anyio # httpcore # httpx -sqlalchemy==1.4.47 +sqlalchemy==1.4.48 # via # -c requirements/../../../packages/service-library/requirements/./../../../requirements/constraints.txt # -r requirements/../../../packages/postgres-database/requirements/_base.in @@ -200,36 +209,39 @@ starlette==0.27.0 # via # -c requirements/../../../packages/service-library/requirements/./../../../requirements/constraints.txt # fastapi -tenacity==8.0.1 +tenacity==8.2.2 # via # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/_base.in -tqdm==4.64.0 +tqdm==4.65.0 # via # -c requirements/../../../packages/service-library/requirements/./_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in -typer==0.4.1 +typer==0.9.0 # via # -r requirements/../../../packages/settings-library/requirements/_base.in # -r requirements/_base.in -typing-extensions==4.3.0 +typing-extensions==4.6.3 # via # aiodebug # aiodocker + # alembic + # pint # pydantic -ujson==5.5.0 + # typer +ujson==5.8.0 # via # -c requirements/../../../packages/service-library/requirements/./../../../requirements/constraints.txt # fastapi -uvicorn==0.15.0 +uvicorn==0.22.0 # via # -r requirements/../../../packages/service-library/requirements/_fastapi.in # fastapi -uvloop==0.16.0 +uvloop==0.17.0 # via uvicorn -watchgod==0.8.2 +watchfiles==0.19.0 # via uvicorn -websockets==10.2 +websockets==11.0.3 # via uvicorn yarl==1.9.2 # via diff --git a/services/api-server/requirements/_test.txt b/services/api-server/requirements/_test.txt index 8e783140b3c..373d977425e 100644 --- a/services/api-server/requirements/_test.txt +++ b/services/api-server/requirements/_test.txt @@ -4,9 +4,9 @@ # # pip-compile --output-file=requirements/_test.txt --resolver=backtracking --strip-extras requirements/_test.in # -alembic==1.8.1 +alembic==1.11.1 # via -r requirements/_test.in -anyio==3.6.2 +anyio==3.7.0 # via # -c requirements/_base.txt # httpcore @@ -25,27 +25,27 @@ aws-sam-translator==1.55.0 # cfn-lint aws-xray-sdk==2.12.0 # via moto -boto3==1.26.147 +boto3==1.26.159 # via # aws-sam-translator # moto -boto3-stubs==1.26.147 +boto3-stubs==1.26.159 # via types-boto3 -botocore==1.29.147 +botocore==1.29.159 # via # aws-xray-sdk # boto3 # moto # s3transfer -botocore-stubs==1.29.147 +botocore-stubs==1.29.159 # via boto3-stubs -certifi==2022.12.7 +certifi==2023.5.7 # via # -c requirements/_base.txt # httpcore # httpx # requests -cffi==1.15.0 +cffi==1.15.1 # via # -c requirements/_base.txt # cryptography @@ -53,7 +53,7 @@ cfn-lint==0.72.0 # via # -c requirements/./constraints.txt # moto -charset-normalizer==2.0.12 +charset-normalizer==3.1.0 # via # -c requirements/_base.txt # requests @@ -63,7 +63,7 @@ click==8.1.3 # flask coverage==7.2.7 # via pytest-cov -cryptography==39.0.1 +cryptography==41.0.1 # via # -c requirements/_base.txt # moto @@ -79,8 +79,11 @@ ecdsa==0.18.0 # python-jose # sshpubkeys exceptiongroup==1.1.1 - # via pytest -faker==18.10.1 + # via + # -c requirements/_base.txt + # anyio + # pytest +faker==18.11.1 # via -r requirements/_test.in flask==2.1.3 # via @@ -94,19 +97,19 @@ greenlet==2.0.2 # via # -c requirements/_base.txt # sqlalchemy -h11==0.12.0 +h11==0.14.0 # via # -c requirements/_base.txt # httpcore -httpcore==0.15.0 +httpcore==0.17.2 # via # -c requirements/_base.txt # httpx -httpx==0.24.0 +httpx==0.24.1 # via # -c requirements/_base.txt # respx -idna==3.3 +idna==3.4 # via # -c requirements/_base.txt # anyio @@ -132,11 +135,11 @@ jschema-to-python==1.2.3 # via cfn-lint jsondiff==2.0.0 # via moto -jsonpatch==1.32 +jsonpatch==1.33 # via cfn-lint jsonpickle==3.0.1 # via jschema-to-python -jsonpointer==2.3 +jsonpointer==2.4 # via jsonpatch jsonschema==3.2.0 # via @@ -147,11 +150,11 @@ jsonschema==3.2.0 # openapi-spec-validator junit-xml==1.9 # via cfn-lint -mako==1.2.2 +mako==1.2.4 # via # -c requirements/_base.txt # alembic -markupsafe==2.1.1 +markupsafe==2.1.3 # via # -c requirements/_base.txt # jinja2 @@ -159,7 +162,7 @@ markupsafe==2.1.1 # moto moto==4.0.1 # via -r requirements/_test.in -mypy==1.3.0 +mypy==1.4.0 # via sqlalchemy mypy-extensions==1.0.0 # via mypy @@ -180,7 +183,7 @@ pbr==5.11.1 # via # jschema-to-python # sarif-om -pluggy==1.0.0 +pluggy==1.2.0 # via pytest pyasn1==0.5.0 # via @@ -190,13 +193,13 @@ pycparser==2.21 # via # -c requirements/_base.txt # cffi -pyparsing==3.0.9 +pyparsing==3.1.0 # via moto -pyrsistent==0.18.1 +pyrsistent==0.19.3 # via # -c requirements/_base.txt # jsonschema -pytest==7.3.1 +pytest==7.3.2 # via # -r requirements/_test.in # pytest-asyncio @@ -209,7 +212,7 @@ pytest-cov==4.1.0 # via -r requirements/_test.in pytest-docker==1.0.1 # via -r requirements/_test.in -pytest-mock==3.10.0 +pytest-mock==3.11.1 # via -r requirements/_test.in pytest-runner==6.0.0 # via -r requirements/_test.in @@ -255,14 +258,14 @@ six==1.16.0 # jsonschema # junit-xml # python-dateutil -sniffio==1.2.0 +sniffio==1.3.0 # via # -c requirements/_base.txt # anyio # asgi-lifespan # httpcore # httpx -sqlalchemy==1.4.47 +sqlalchemy==1.4.48 # via # -r requirements/_test.in # alembic @@ -285,19 +288,20 @@ types-pyyaml==6.0.12.10 # via responses types-s3transfer==0.6.1 # via boto3-stubs -typing-extensions==4.3.0 +typing-extensions==4.6.3 # via # -c requirements/_base.txt + # alembic # mypy # sqlalchemy2-stubs -urllib3==1.26.9 +urllib3==1.26.16 # via # -c requirements/../../../requirements/constraints.txt # botocore # docker # requests # responses -websocket-client==1.5.2 +websocket-client==1.6.0 # via docker werkzeug==2.1.2 # via diff --git a/services/api-server/requirements/_tools.txt b/services/api-server/requirements/_tools.txt index a50d04b4909..54dc62cb95b 100644 --- a/services/api-server/requirements/_tools.txt +++ b/services/api-server/requirements/_tools.txt @@ -25,7 +25,7 @@ dill==0.3.6 # via pylint distlib==0.3.6 # via virtualenv -filelock==3.12.0 +filelock==3.12.2 # via virtualenv identify==2.5.24 # via pre-commit @@ -37,7 +37,7 @@ jinja2==3.1.2 # via -r requirements/_tools.in lazy-object-proxy==1.9.0 # via astroid -markupsafe==2.1.1 +markupsafe==2.1.3 # via # -c requirements/_test.txt # jinja2 @@ -58,12 +58,12 @@ pathspec==0.11.1 # via black pip-tools==6.13.0 # via -r requirements/../../../requirements/devenv.txt -platformdirs==3.5.1 +platformdirs==3.8.0 # via # black # pylint # virtualenv -pre-commit==3.3.2 +pre-commit==3.3.3 # via -r requirements/../../../requirements/devenv.txt pylint==2.17.4 # via -r requirements/../../../requirements/devenv.txt @@ -83,11 +83,11 @@ tomli==2.0.1 # pyproject-hooks tomlkit==0.11.8 # via pylint -typing-extensions==4.3.0 +typing-extensions==4.6.3 # via # -c requirements/_test.txt # astroid -virtualenv==20.23.0 +virtualenv==20.23.1 # via pre-commit watchdog==3.0.0 # via -r requirements/_tools.in From 8c0736d29a5756ce8224c69fe3242c332d783abf Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Fri, 23 Jun 2023 10:26:12 +0200 Subject: [PATCH 3/4] adds fastapi pagination --- services/api-server/requirements/_base.in | 1 + services/api-server/requirements/_base.txt | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/services/api-server/requirements/_base.in b/services/api-server/requirements/_base.in index 647b3f7198c..ae031f2f639 100644 --- a/services/api-server/requirements/_base.in +++ b/services/api-server/requirements/_base.in @@ -18,6 +18,7 @@ aiofiles aiopg[sa] cryptography +fastapi-pagination fastapi[all] httpx orjson diff --git a/services/api-server/requirements/_base.txt b/services/api-server/requirements/_base.txt index c95a3710b42..317f5c0a6e6 100644 --- a/services/api-server/requirements/_base.txt +++ b/services/api-server/requirements/_base.txt @@ -86,6 +86,9 @@ fastapi==0.98.0 # via # -r requirements/../../../packages/service-library/requirements/_fastapi.in # -r requirements/_base.in + # fastapi-pagination +fastapi-pagination==0.12.4 + # via -r requirements/_base.in frozenlist==1.3.3 # via # aiohttp @@ -160,6 +163,7 @@ pydantic==1.10.9 # -r requirements/../../../packages/models-library/requirements/_base.in # -r requirements/_base.in # fastapi + # fastapi-pagination pygments==2.15.1 # via rich pyinstrument==4.5.0 From cc8fd37c88e806b90de46e88eae58a73e3d358a2 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Fri, 23 Jun 2023 10:56:44 +0200 Subject: [PATCH 4/4] @sanderegg review: modify hotfix --- .github/ISSUE_TEMPLATE/6_hotfix.yml | 33 ++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/6_hotfix.yml b/.github/ISSUE_TEMPLATE/6_hotfix.yml index 8984855e14b..420d3ed5a5e 100644 --- a/.github/ISSUE_TEMPLATE/6_hotfix.yml +++ b/.github/ISSUE_TEMPLATE/6_hotfix.yml @@ -13,11 +13,11 @@ body: validations: required: true - type: input - id: commit_sha + id: branch_commit_sha attributes: - label: Commit SHA + label: Branching Commit SHA description: | - Selets the commit from which the release takes placeholder. Check [commits](https://github.com/ITISFoundation/osparc-simcore/commits/master) + Select the commit from which the hot-fix branch needs to emerge . Check [commits](https://github.com/ITISFoundation/osparc-simcore/commits/master) IMPORTANT: make sure t (i.e. tests passed and images were built and pushed) placeholder: e.g. `8d9a27ebb3e64956e6a41f31839748b3f6a27074` validations: @@ -42,6 +42,15 @@ body: - Is there anything in particular we should monitor? validations: required: true + - type: textarea + attributes: + label: Cherry Picks + description: | + List of changes to cherry-pick into the hotfix branch. + List links to the PRs associated to every commit in the release. This will automatically create references between PRs and this release that will be very valuable for traceability. + TIP: use the autogenerate changelog feature during the draft release. + validations: + required: false - type: textarea attributes: label: "🚑️ Hotfix branch" @@ -53,20 +62,28 @@ body: - [] check [images in dockerhub](https://registry.hub.docker.com/u/itisfoundation) validations: required: false + - type: input + id: hotfix_commit_sha + attributes: + label: Hotfix Commit SHA + description: | + Selects the the head commit of the hotfix branch + IMPORTANT: make sure t (i.e. tests passed and images were built and pushed) + placeholder: e.g. `d1f2e9ed-3b82-424e-8afa-17940614f042` + validations: + required: false - type: textarea attributes: - label: Changes + label: Changes (for changelog) description: | - Changes introduced by this release. - List links to the PRs associated to every commit in the release. This will automatically create references between PRs and this release that will be very valuable for traceability. - TIP: use the autogenerate changelog feature during the draft release. + List of changes in the hotfix branch validations: required: false - type: textarea attributes: label: Releasing 🚀 value: | - - ``make release-hotfix version= git_sha=`` + - ``make release-hotfix version= git_sha=`` - [ ] Draft [release notes](https://github.com/ITISFoundation/osparc-simcore/releases) 🚀 - [ ] No need for maintenance announcement?: Target update of ```` - [ ] Deploy hot-fix.