Skip to content

Commit 0f07dc1

Browse files
Merge branch 'master' into switch-to-new-projects-nodes-repo
2 parents 1a6b318 + 1713021 commit 0f07dc1

File tree

88 files changed

+2660
-1448
lines changed

Some content is hidden

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

88 files changed

+2660
-1448
lines changed

.env-devel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,7 @@ WEBSERVER_GARBAGE_COLLECTOR=null
371371
WEBSERVER_GROUPS=1
372372
WEBSERVER_GUNICORN_CMD_ARGS=--timeout=180
373373
WEBSERVER_HOST=webserver
374+
WEBSERVER_LICENSES=true
374375
WEBSERVER_LOGIN={}
375376
WEBSERVER_LOGLEVEL=INFO
376377
WEBSERVER_META_MODELING=1

.github/mergify.yml

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,30 @@ queue_rules:
2424

2525
# NOTE: in case of flaky tests you above checks will fail
2626
# 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
27+
# Once the PR is ready to be merged the flaky tests will
28+
# be retried automatically.
29+
# As soon as the CI is green, the PR will be pushed to the queue
2930
pull_request_rules:
30-
- name: retry CI on fails (used for flaky tests)
31+
- name: retry flaky tests (when PR is approved)
3132
conditions:
3233
- label=🤖-automerge
3334
- label!=🤖-do-not-merge
3435
- base=master
36+
37+
- -draft # PR is not in draft state
38+
- -conflict # No merge conflicts
39+
- "#approved-reviews-by>=2" # Requires 2 approving reviews
40+
- "#changes-requested-reviews-by=0" # No changes requested
41+
- "#review-threads-unresolved=0" # All review threads resolved
42+
3543
- or:
3644
- check-failure=unit-tests
3745
- check-failure=integration-tests
3846
- check-failure=system-tests
3947
actions:
48+
comment:
49+
message: "Restarted CI due to failing tests"
4050
github_actions:
4151
workflow:
4252
dispatch:
43-
- workflow: .github/workflows/ci-testing-deploy.yml
53+
- workflow: ci-testing-deploy.yml

api/specs/web-server/_licensed_items.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,10 @@
1414
from models_library.generics import Envelope
1515
from models_library.rest_error import EnvelopedError
1616
from simcore_service_webserver._meta import API_VTAG
17-
from simcore_service_webserver.licenses._exceptions_handlers import _TO_HTTP_ERROR_MAP
18-
from simcore_service_webserver.licenses._models import (
17+
from simcore_service_webserver.licenses._common.exceptions_handlers import (
18+
_TO_HTTP_ERROR_MAP,
19+
)
20+
from simcore_service_webserver.licenses._common.models import (
1921
LicensedItemsBodyParams,
2022
LicensedItemsListQueryParams,
2123
LicensedItemsPathParams,

api/specs/web-server/_licensed_items_checkouts.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
from models_library.rest_error import EnvelopedError
1818
from models_library.rest_pagination import Page
1919
from simcore_service_webserver._meta import API_VTAG
20-
from simcore_service_webserver.licenses._exceptions_handlers import _TO_HTTP_ERROR_MAP
20+
from simcore_service_webserver.licenses._common.exceptions_handlers import (
21+
_TO_HTTP_ERROR_MAP,
22+
)
2123
from simcore_service_webserver.licenses._licensed_items_checkouts_models import (
2224
LicensedItemCheckoutPathParams,
2325
LicensedItemsCheckoutsListQueryParams,

api/specs/web-server/_licensed_items_purchases.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@
1717
from models_library.rest_error import EnvelopedError
1818
from models_library.rest_pagination import Page
1919
from simcore_service_webserver._meta import API_VTAG
20-
from simcore_service_webserver.licenses._exceptions_handlers import _TO_HTTP_ERROR_MAP
21-
from simcore_service_webserver.licenses._models import (
20+
from simcore_service_webserver.licenses._common.exceptions_handlers import (
21+
_TO_HTTP_ERROR_MAP,
22+
)
23+
from simcore_service_webserver.licenses._common.models import (
2224
LicensedItemsPurchasesListQueryParams,
2325
LicensedItemsPurchasesPathParams,
2426
)

packages/common-library/src/common_library/basic_types.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@
33

44
from pydantic_core import PydanticUndefined
55

6-
# SEE https://github.com/fastapi/fastapi/blob/master/fastapi/_compat.py#L75-L78
76
Undefined = PydanticUndefined
87
DEFAULT_FACTORY: Any = Undefined
9-
# Use `UNSET` as default when default_factory
8+
# Use `DEFAULT_FACTORY` as field default when using Field(default_factory=...)
109
# SEE https://github.com/ITISFoundation/osparc-simcore/pull/6882
10+
# SEE https://github.com/ITISFoundation/osparc-simcore/pull/7112#discussion_r1933432238
11+
# SEE https://github.com/fastapi/fastapi/blob/master/fastapi/_compat.py#L75-L78
1112

1213

1314
class LogLevel(StrEnum):
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
"""Add product owners email col
2+
3+
Revision ID: 1bc517536e0a
4+
Revises: 5f88b513cd4c
5+
Create Date: 2025-01-29 10:05:58.254306+00:00
6+
7+
"""
8+
import sqlalchemy as sa
9+
from alembic import op
10+
11+
# revision identifiers, used by Alembic.
12+
revision = "1bc517536e0a"
13+
down_revision = "5f88b513cd4c"
14+
branch_labels = None
15+
depends_on = None
16+
17+
18+
def upgrade():
19+
# ### commands auto generated by Alembic - please adjust! ###
20+
op.add_column(
21+
"products", sa.Column("product_owners_email", sa.String(), nullable=True)
22+
)
23+
# ### end Alembic commands ###
24+
25+
26+
def downgrade():
27+
# ### commands auto generated by Alembic - please adjust! ###
28+
op.drop_column("products", "product_owners_email")
29+
# ### end Alembic commands ###

packages/postgres-database/src/simcore_postgres_database/models/products.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,12 @@ class ProductLoginSettingsDict(TypedDict, total=False):
154154
doc="Support email for this product"
155155
'Therefore smtp_sender = f"{display_name} support <{support_email}>"',
156156
),
157+
sa.Column(
158+
"product_owners_email",
159+
sa.String,
160+
nullable=True,
161+
doc="Alternative support email directed to POs only (e.g. for account request, sales, etc)",
162+
),
157163
sa.Column(
158164
"twilio_messaging_sid",
159165
sa.String,

packages/pytest-simcore/src/pytest_simcore/helpers/faker_factories.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,12 @@ def random_product(
227227
"short_name": suffix[:4],
228228
"host_regex": r"[a-zA-Z0-9]+\.com",
229229
"support_email": f"support@{suffix}.io",
230-
"twilio_messaging_sid": fake.random_element(elements=(None, fake.uuid4()[:34])),
230+
"product_owners_email": fake.random_element(
231+
elements=[f"product-onwers@{suffix}.io", None]
232+
),
233+
"twilio_messaging_sid": fake.random_element(
234+
elements=(None, f"{fake.uuid4()}"[:34])
235+
),
231236
"vendor": Vendor(
232237
name=fake.company(),
233238
copyright=fake.company_suffix(),

packages/settings-library/setup.cfg

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ universal = 1
1414
# Define setup.py command aliases here
1515
test = pytest
1616

17-
# NOTE: uncomment when pytest-asyncio is added in requirements
18-
# [tool:pytest]
19-
# asyncio_mode = auto
17+
[tool:pytest]
18+
# SEE https://docs.pytest.org/en/stable/how-to/capture-warnings.html
19+
filterwarnings =
20+
error

0 commit comments

Comments
 (0)