Skip to content

Commit 2597d19

Browse files
Merge branch 'master' into fix-pydantic-userwarnings
2 parents 39ed922 + 05eea4b commit 2597d19

File tree

391 files changed

+9149
-4722
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

391 files changed

+9149
-4722
lines changed

.env-devel

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,11 @@ DYNAMIC_SCHEDULER_UI_STORAGE_SECRET=adminadmin
133133

134134
FUNCTION_SERVICES_AUTHORS='{"UN": {"name": "Unknown", "email": "[email protected]", "affiliation": "unknown"}}'
135135

136+
WEBSERVER_LICENSES={}
137+
LICENSES_ITIS_VIP_SYNCER_ENABLED=false
138+
LICENSES_ITIS_VIP_API_URL=https://some-api/{category}
139+
LICENSES_ITIS_VIP_CATEGORIES='{"HumanWholeBody": "Humans", "HumanBodyRegion": "Humans (Region)", "AnimalWholeBody": "Animal"}'
140+
136141
# Can use 'docker run -it itisfoundation/invitations:latest simcore-service-invitations generate-dotenv --auto-password'
137142
INVITATIONS_DEFAULT_PRODUCT=osparc
138143
INVITATIONS_HOST=invitations
@@ -371,7 +376,6 @@ WEBSERVER_GARBAGE_COLLECTOR=null
371376
WEBSERVER_GROUPS=1
372377
WEBSERVER_GUNICORN_CMD_ARGS=--timeout=180
373378
WEBSERVER_HOST=webserver
374-
WEBSERVER_LICENSES=true
375379
WEBSERVER_LOGIN={}
376380
WEBSERVER_LOGLEVEL=INFO
377381
WEBSERVER_META_MODELING=1

.github/mergify.yml

Lines changed: 37 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
1-
# NOTE: the PR is added to the queue when all checks have passed
2-
# and the CI is fully green.
3-
# If the PR is behind the queue will take care of updating it
41
queue_rules:
52
- name: default
6-
queue_conditions:
3+
queue_conditions: # condtions to be met to add the PR to the queue (manually or automatically)
74
# general prerequisits fo accept the PR in the queue
85
- label=🤖-automerge # let Mergify know that the PR can be merged (added manually)
96
- label!=🤖-do-not-merge # block Mergify from merging the PR (added manually)
@@ -16,28 +13,57 @@ queue_rules:
1613
- "#changes-requested-reviews-by=0" # No changes requested
1714
- "#review-threads-unresolved=0" # All review threads resolved
1815

19-
merge_conditions:
16+
merge_conditions: # conditions to be met before being able to merge
2017
# list of CI checks that need to pass
18+
- check-success=system-test-environment-setup
19+
- check-success=changes
20+
- check-success=build-test-images
21+
- check-success=build-test-images-frontend
2122
- check-success=unit-tests
2223
- check-success=integration-tests
2324
- check-success=system-tests
2425

25-
# NOTE: in case of flaky tests you above checks will fail
26-
# the PR will be removed from the queue.
27-
# This retries the checks, as soon as they become green,
28-
# the PR will be pusehd to the queu again
26+
2927
pull_request_rules:
30-
- name: retry CI on fails (used for flaky tests)
28+
- name: retry flaky tests (when PR is approved)
3129
conditions:
3230
- label=🤖-automerge
3331
- label!=🤖-do-not-merge
3432
- base=master
33+
34+
- -draft # PR is not in draft state
35+
- -conflict # No merge conflicts
36+
- "#approved-reviews-by>=2" # Requires 2 approving reviews
37+
- "#changes-requested-reviews-by=0" # No changes requested
38+
- "#review-threads-unresolved=0" # All review threads resolved
39+
3540
- or:
41+
- check-failure=system-test-environment-setup
42+
- check-failure=changes
43+
- check-failure=build-test-images
44+
- check-failure=build-test-images-frontend
3645
- check-failure=unit-tests
3746
- check-failure=integration-tests
3847
- check-failure=system-tests
3948
actions:
49+
comment:
50+
message: "Restarted CI due to failing tests"
4051
github_actions:
4152
workflow:
4253
dispatch:
43-
- workflow: .github/workflows/ci-testing-deploy.yml
54+
- workflow: ci-testing-deploy.yml
55+
56+
- name: Automatically add PR to queue if it meets conditions
57+
conditions:
58+
- "label=🤖-automerge"
59+
- "label!=🤖-do-not-merge"
60+
- "base=master"
61+
62+
- "-draft" # PR is not in draft state
63+
- "-conflict" # PR has no conflicts
64+
- "#approved-reviews-by>=2" # Requires 2 approvals
65+
- "#changes-requested-reviews-by=0" # No requested changes
66+
- "#review-threads-unresolved=0" # All review threads resolved
67+
actions:
68+
queue:
69+
name: default

.github/workflows/ci-testing-pull-request.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,15 @@ jobs:
3131
enable-cache: false
3232
- name: checkout source branch
3333
uses: actions/checkout@v4
34-
- name: Regenerate specs and check
34+
- name: Generate openapi specs
3535
run: |
3636
make devenv
3737
source .venv/bin/activate
3838
make openapi-specs
39+
- name: Check openapi specs are up to date
40+
run: |
3941
if ! ./ci/github/helpers/openapi-specs-diff.bash diff \
40-
https://raw.githubusercontent.com/${{ github.event.pull_request.head.repo.full_name }}/refs/heads/${{ github.event.pull_request.head.ref }} \
42+
https://raw.githubusercontent.com/${{ github.event.pull_request.head.repo.full_name }}/${{ github.event.after }} \
4143
.; then \
4244
echo "::error:: OAS are not up to date. Run 'make openapi-specs' to update them"; exit 1; \
4345
fi
@@ -57,7 +59,7 @@ jobs:
5759
- name: check api-server backwards compatibility
5860
run: |
5961
./scripts/openapi-diff.bash breaking --fail-on ERR\
60-
https://raw.githubusercontent.com/${{ github.event.pull_request.base.repo.full_name }}/refs/heads/${{ github.event.pull_request.base.ref }}/services/api-server/openapi.json \
62+
https://raw.githubusercontent.com/${{ github.event.pull_request.base.repo.full_name }}/${{ github.event.after }}/services/api-server/openapi.json \
6163
/specs/services/api-server/openapi.json
6264
6365
all-oas-breaking:
@@ -76,5 +78,5 @@ jobs:
7678
- name: Check openapi-specs backwards compatibility
7779
run: |
7880
./ci/github/helpers/openapi-specs-diff.bash breaking \
79-
https://raw.githubusercontent.com/${{ github.event.pull_request.base.repo.full_name }}/refs/heads/${{ github.event.pull_request.base.ref }} \
81+
https://raw.githubusercontent.com/${{ github.event.pull_request.base.repo.full_name }}/${{ github.event.after }} \
8082
.

api/specs/web-server/_licensed_items.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@
1010

1111
from _common import as_query
1212
from fastapi import APIRouter, Depends, status
13-
from models_library.api_schemas_webserver.licensed_items import LicensedItemGet
13+
from models_library.api_schemas_webserver.licensed_items import LicensedItemRestGet
1414
from models_library.generics import Envelope
1515
from models_library.rest_error import EnvelopedError
16+
from models_library.rest_pagination import Page
1617
from simcore_service_webserver._meta import API_VTAG
1718
from simcore_service_webserver.licenses._common.exceptions_handlers import (
1819
_TO_HTTP_ERROR_MAP,
@@ -37,7 +38,7 @@
3738

3839
@router.get(
3940
"/catalog/licensed-items",
40-
response_model=Envelope[list[LicensedItemGet]],
41+
response_model=Page[LicensedItemRestGet],
4142
)
4243
async def list_licensed_items(
4344
_query: Annotated[as_query(LicensedItemsListQueryParams), Depends()],
@@ -47,7 +48,7 @@ async def list_licensed_items(
4748

4849
@router.get(
4950
"/catalog/licensed-items/{licensed_item_id}",
50-
response_model=Envelope[LicensedItemGet],
51+
response_model=Envelope[LicensedItemRestGet],
5152
)
5253
async def get_licensed_item(
5354
_path: Annotated[LicensedItemsPathParams, Depends()],

api/tests/requirements.txt

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
1-
aiohappyeyeballs==2.4.0
1+
aiohappyeyeballs==2.4.4
22
# via aiohttp
3-
aiohttp==3.10.5
3+
aiohttp==3.11.11
44
# via
55
# -c ../../requirements/constraints.txt
66
# -r requirements.in
7-
aiosignal==1.3.1
7+
aiosignal==1.3.2
88
# via aiohttp
9-
attrs==24.2.0
9+
attrs==25.1.0
1010
# via
1111
# aiohttp
1212
# jsonschema
1313
# referencing
14-
certifi==2024.8.30
14+
certifi==2024.12.14
1515
# via
1616
# -c ../../requirements/constraints.txt
1717
# requests
18-
charset-normalizer==3.3.2
18+
charset-normalizer==3.4.1
1919
# via requests
20-
coverage==7.6.1
20+
coverage==7.6.10
2121
# via
2222
# -r requirements.in
2323
# pytest-cov
24-
frozenlist==1.4.1
24+
frozenlist==1.5.0
2525
# via
2626
# aiohttp
2727
# aiosignal
@@ -31,50 +31,54 @@ idna==3.10
3131
# yarl
3232
iniconfig==2.0.0
3333
# via pytest
34-
isodate==0.6.1
34+
isodate==0.7.2
3535
# via openapi-core
3636
jsonschema==4.23.0
3737
# via
3838
# openapi-core
3939
# openapi-schema-validator
4040
# openapi-spec-validator
41-
jsonschema-path==0.3.3
41+
jsonschema-path==0.3.4
4242
# via
4343
# openapi-core
4444
# openapi-spec-validator
45-
jsonschema-specifications==2023.12.1
45+
jsonschema-specifications==2024.10.1
4646
# via
4747
# jsonschema
4848
# openapi-schema-validator
4949
lazy-object-proxy==1.10.0
5050
# via openapi-spec-validator
51-
markupsafe==2.1.5
51+
markupsafe==3.0.2
5252
# via werkzeug
53-
more-itertools==10.5.0
53+
more-itertools==10.6.0
5454
# via openapi-core
5555
multidict==6.1.0
5656
# via
5757
# aiohttp
5858
# yarl
5959
openapi-core==0.19.4
6060
# via -r requirements.in
61-
openapi-schema-validator==0.6.2
61+
openapi-schema-validator==0.6.3
6262
# via
6363
# openapi-core
6464
# openapi-spec-validator
6565
openapi-spec-validator==0.7.1
6666
# via openapi-core
67-
packaging==24.1
67+
packaging==24.2
6868
# via
6969
# pytest
7070
# pytest-sugar
7171
parse==1.20.2
7272
# via openapi-core
73-
pathable==0.4.3
73+
pathable==0.4.4
7474
# via jsonschema-path
7575
pluggy==1.5.0
7676
# via pytest
77-
pytest==8.3.3
77+
propcache==0.2.1
78+
# via
79+
# aiohttp
80+
# yarl
81+
pytest==8.3.4
7882
# via
7983
# -r requirements.in
8084
# pytest-asyncio
@@ -85,7 +89,7 @@ pytest-asyncio==0.23.8
8589
# via
8690
# -c ../../requirements/constraints.txt
8791
# -r requirements.in
88-
pytest-cov==5.0.0
92+
pytest-cov==6.0.0
8993
# via -r requirements.in
9094
pytest-instafail==0.5.0
9195
# via -r requirements.in
@@ -97,28 +101,27 @@ pyyaml==6.0.2
97101
# jsonschema-path
98102
referencing==0.35.1
99103
# via
104+
# -c ../../requirements/constraints.txt
100105
# jsonschema
101106
# jsonschema-path
102107
# jsonschema-specifications
103108
requests==2.32.3
104109
# via jsonschema-path
105110
rfc3339-validator==0.1.4
106111
# via openapi-schema-validator
107-
rpds-py==0.20.0
112+
rpds-py==0.22.3
108113
# via
109114
# jsonschema
110115
# referencing
111-
six==1.16.0
112-
# via
113-
# isodate
114-
# rfc3339-validator
115-
termcolor==2.4.0
116+
six==1.17.0
117+
# via rfc3339-validator
118+
termcolor==2.5.0
116119
# via pytest-sugar
117-
urllib3==2.2.3
120+
urllib3==2.3.0
118121
# via
119122
# -c ../../requirements/constraints.txt
120123
# requests
121-
werkzeug==3.0.4
124+
werkzeug==3.1.3
122125
# via openapi-core
123-
yarl==1.12.1
126+
yarl==1.18.3
124127
# via aiohttp

0 commit comments

Comments
 (0)