Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

⬆️ Upgrades api-server requirements #2827

Merged

Conversation

pcrespov
Copy link
Member

@pcrespov pcrespov commented Feb 11, 2022

What do these changes do?

In preparation for new features, we upgrade api-server requirements.

  • Removed local constraints
  • Pruned dependencies
  • full upgrade base.in, tests.in and tools.in

base requirements

  • #packages before: 44
  • #packages after : 46
# name before after upgrade count
1 aiodebug 1.1.2 2.3.0 MAJOR 1
2 aiofiles 0.5.0 0.8.0 minor 1
3 aiohttp 3.7.4.post0 3.8.1 minor 1
4 aiopg 1.2.1 1.3.3 minor 1
5 alembic 1.7.4 1.7.6 1
6 asgiref 3.4.1 3.5.0 minor 1
7 async-timeout 3.0.1 4.0.2 MAJOR 1
8 certifi 2020.12.5 2021.10.8 MAJOR 1
9 cffi 1.14.5 1.15.0 minor 1
10 chardet 4.0.0 removed 1
11 charset-normalizer 2.0.10 2.0.12 1
12 click 8.0.3 8.0.4 1
13 cryptography 3.4.7 36.0.1 MAJOR 1
14 dnspython 2.1.0 2.2.0 minor 1
15 email-validator 1.1.2 1.1.3 1
16 fastapi 0.71.0 0.74.1 minor 1
17 httpcore 0.14.4 0.14.7 1
18 httpx 0.21.3 0.22.0 minor 1
19 importlib-metadata 4.8.1 4.11.2 minor 1
20 importlib-resources 5.3.0 5.4.0 minor 1
21 itsdangerous 1.1.0 2.1.0 MAJOR 1
22 jinja2 2.11.3 3.0.3 MAJOR 1
23 mako 1.1.5 1.1.6 1
24 markupsafe 2.0.1 2.1.0 minor 1
25 multidict 5.1.0 6.0.2 MAJOR 1
26 orjson 3.5.2 3.6.7 minor 1
27 packaging 20.9 21.3 MAJOR 1
28 psycopg2-binary 2.9.1 2.9.3 1
29 pycparser 2.20 2.21 minor 1
30 pyinstrument 3.4.2 4.1.1 MAJOR 1
31 pyinstrument-cext 0.2.4 removed 1
32 pyparsing 2.4.7 3.0.7 MAJOR 1
33 python-dotenv 0.17.1 0.19.2 minor 1
34 requests 2.25.1 2.27.1 minor 1
35 tenacity 7.0.0 8.0.1 MAJOR 1
36 thrift 0.13.0 0.15.0 minor 1
37 tqdm 4.60.0 4.63.0 minor 1
38 typing-extensions 3.10.0.2 4.1.1 MAJOR 1
39 ujson 4.0.2 4.3.0 minor 1
40 urllib3 1.26.7 1.26.8 1
41 uvloop 0.14.0 0.16.0 minor 1
42 websockets 10.1 10.2 minor 1
43 yarl 1.6.3 1.7.2 minor 1
44 zipp 3.6.0 3.7.0 minor 1

tests requirements

  • #packages before: 31
  • #packages after : 30
# name before after upgrade count
1 alembic 1.7.4 1.7.6 1
2 certifi 2020.12.5 2021.10.8 MAJOR 1
3 cffi 1.14.5 1.15.0 minor 1
4 chardet 4.0.0 removed 1
5 charset-normalizer 2.0.10 2.0.12 1
6 click 8.0.3 8.0.4 1
7 coverage 6.3.1 6.3.2 1
8 cryptography 3.4.7 36.0.1 MAJOR 1
9 distro 1.6.0 1.7.0 minor 1
10 faker 12.1.0 13.3.0 MAJOR 1
11 httpcore 0.14.4 0.14.7 1
12 httpx 0.21.3 0.22.0 minor 1
13 importlib-metadata 4.8.1 4.11.2 minor 1
14 importlib-resources 5.3.0 5.4.0 minor 1
15 mako 1.1.5 1.1.6 1
16 markupsafe 2.0.1 2.1.0 minor 1
17 multidict 5.1.0 6.0.2 MAJOR 1
18 packaging 20.9 21.3 MAJOR 1
19 platformdirs 2.5.0 2.5.1 1
20 psycopg2-binary 2.9.1 2.9.3 1
21 pycparser 2.20 2.21 minor 1
22 pyparsing 2.4.7 3.0.7 MAJOR 1
23 pytest-asyncio 0.18.0 0.18.1 1
24 pytest-runner 5.3.1 6.0.0 MAJOR 1
25 python-dotenv 0.17.1 0.19.2 minor 1
26 requests 2.25.1 2.27.1 minor 1
27 tenacity 7.0.0 8.0.1 MAJOR 1
28 typing-extensions 3.10.0.2 4.1.1 MAJOR 1
29 urllib3 1.26.7 1.26.8 1
30 yarl 1.6.3 1.7.2 minor 1
31 zipp 3.6.0 3.7.0 minor 1

Related issue/s

How to test

  • service (already in CI)
cd services/api-server
make install-dev
make test-dev
  • integration via client (already in CI)
make build
cd tests/public-api
make install-ci
make test-dev
  • pip-freeze check: verifies that _base.txt is indeed the dependencies installed in production. This is done by comparing these two files manually (for the moment)
$ docker run -it local/api-server:production pip freeze > freeze-prod.ignore.txt
$ cat requirements/_base.txt | grep -v '#' > freeze-base.ignore.txt

Checklist

  • Removed local constraints
  • Pruned dependencies
  • Full upgrade base.in, tests.in and tools.in
  • Openapi changes? make openapi-specs, git commit ... and then make version-*)
  • Database migration script? cd packages/postgres-database, make setup-commit, sc-pg review -m "my changes"
  • Unit tests for the changes exist
  • Runs in the swarm
  • Documentation reflects the changes
  • New module? Add your github username to .github/CODEOWNERS

@codecov
Copy link

codecov bot commented Feb 11, 2022

Codecov Report

Merging #2827 (eb9b4aa) into master (093db8d) will decrease coverage by 2.6%.
The diff coverage is 100.0%.

Impacted file tree graph

@@           Coverage Diff            @@
##           master   #2827     +/-   ##
========================================
- Coverage    81.7%   79.1%   -2.7%     
========================================
  Files         419     672    +253     
  Lines       20280   27468   +7188     
  Branches     2202    3205   +1003     
========================================
+ Hits        16577   21736   +5159     
- Misses       3062    4986   +1924     
- Partials      641     746    +105     
Flag Coverage Δ
integrationtests 65.7% <ø> (+<0.1%) ⬆️
unittests 74.6% <100.0%> (-2.2%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...rc/simcore_service_api_server/modules/webserver.py 47.6% <100.0%> (ø)
...c/simcore_service_catalog/core/background_tasks.py 68.4% <0.0%> (-12.7%) ⬇️
...imcore_service_catalog/db/repositories/projects.py 41.6% <0.0%> (-12.5%) ⬇️
...ce_webserver/resource_manager/websocket_manager.py 93.5% <0.0%> (-3.9%) ⬇️
...library/src/servicelib/aiohttp/application_keys.py 100.0% <0.0%> (ø)
...ce_integration/pytest_plugin/docker_integration.py 0.0% <0.0%> (ø)
...core_postgres_database/models/cluster_to_groups.py 100.0% <0.0%> (ø)
...tion/src/service_integration/compose_spec_model.py 100.0% <0.0%> (ø)
...simcore_service_api_server/models/schemas/files.py 90.6% <0.0%> (ø)
...imcore_service_api_server/api/errors/http_error.py 69.2% <0.0%> (ø)
... and 268 more

@pcrespov pcrespov self-assigned this Feb 11, 2022
@pcrespov pcrespov added the a:apiserver api-server service label Feb 11, 2022
@pcrespov pcrespov added this to the R.Schumann milestone Feb 11, 2022
@pcrespov pcrespov marked this pull request as ready for review February 14, 2022 17:51
@pcrespov pcrespov marked this pull request as draft February 14, 2022 17:51
@pcrespov pcrespov force-pushed the maintenance/api-server-reqs branch from a6872a7 to ad51c69 Compare February 20, 2022 17:32
@pcrespov pcrespov force-pushed the maintenance/api-server-reqs branch from ad51c69 to eb9b4aa Compare March 2, 2022 00:16
@pcrespov pcrespov marked this pull request as ready for review March 2, 2022 00:40
@pcrespov pcrespov changed the title WIP: ⬆️ Upgrades api-server requirements ⬆️ Upgrades api-server requirements Mar 2, 2022
Copy link
Contributor

@GitHK GitHK left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@pcrespov pcrespov merged commit 06a8c02 into ITISFoundation:master Mar 2, 2022
@pcrespov pcrespov deleted the maintenance/api-server-reqs branch March 2, 2022 12:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a:apiserver api-server service
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants