Skip to content

Commit db3c5f3

Browse files
Merge branch 'master' into is6880/hash-api-key-secret
2 parents e824932 + 9c10bb2 commit db3c5f3

File tree

1,088 files changed

+39173
-25426
lines changed

Some content is hidden

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

1,088 files changed

+39173
-25426
lines changed

.env-devel

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,12 @@ DIRECTOR_REGISTRY_CACHING=True
8383
DIRECTOR_SERVICES_CUSTOM_CONSTRAINTS=null
8484
DIRECTOR_TRACING=null
8585

86+
DOCKER_API_PROXY_HOST=docker-api-proxy
87+
DOCKER_API_PROXY_PASSWORD=null
88+
DOCKER_API_PROXY_PORT=8888
89+
DOCKER_API_PROXY_SECURE=False
90+
DOCKER_API_PROXY_USER=null
91+
8692
EFS_USER_ID=8006
8793
EFS_USER_NAME=efs
8894
EFS_GROUP_ID=8106
@@ -135,8 +141,11 @@ FUNCTION_SERVICES_AUTHORS='{"UN": {"name": "Unknown", "email": "[email protected]
135141

136142
WEBSERVER_LICENSES={}
137143
LICENSES_ITIS_VIP_SYNCER_ENABLED=false
138-
LICENSES_ITIS_VIP_API_URL=https://some-api/{category}
144+
LICENSES_ITIS_VIP_SYNCER_PERIODICITY=1D00:00:00
145+
LICENSES_ITIS_VIP_API_URL=https://replace-with-itis-api/{category}
139146
LICENSES_ITIS_VIP_CATEGORIES='{"HumanWholeBody": "Humans", "HumanBodyRegion": "Humans (Region)", "AnimalWholeBody": "Animal"}'
147+
LICENSES_SPEAG_PHANTOMS_API_URL=https://replace-with-speag-api/{category}
148+
LICENSES_SPEAG_PHANTOMS_CATEGORIES='{"ComputationalPhantom": "Phantom of the Opera"}'
140149

141150
# Can use 'docker run -it itisfoundation/invitations:latest simcore-service-invitations generate-dotenv --auto-password'
142151
INVITATIONS_DEFAULT_PRODUCT=osparc
@@ -241,8 +250,6 @@ SMTP_PROTOCOL=UNENCRYPTED
241250
SMTP_USERNAME=it_doesnt_matter
242251

243252
# STORAGE ----
244-
BF_API_KEY=none
245-
BF_API_SECRET=none
246253
STORAGE_ENDPOINT=storage:8080
247254
STORAGE_HOST=storage
248255
STORAGE_LOGLEVEL=INFO
@@ -277,7 +284,6 @@ WB_GC_GROUPS=0
277284
WB_GC_INVITATIONS=null
278285
WB_GC_LOGIN=null
279286
WB_GC_LOGLEVEL=INFO
280-
WB_GC_META_MODELING=0
281287
WB_GC_NOTIFICATIONS=0
282288
WB_GC_PAYMENTS=null
283289
WB_GC_PRODUCTS=0
@@ -292,7 +298,6 @@ WB_GC_STUDIES_DISPATCHER=null
292298
WB_GC_TAGS=0
293299
WB_GC_TRACING=null
294300
WB_GC_USERS={}
295-
WB_GC_VERSION_CONTROL=0
296301
WB_GC_WALLETS=0
297302

298303
WB_DB_EL_ACTIVITY=null
@@ -309,7 +314,6 @@ WB_DB_EL_GROUPS=0
309314
WB_DB_EL_INVITATIONS=null
310315
WB_DB_EL_LOGIN=null
311316
WB_DB_EL_LOGLEVEL=INFO
312-
WB_DB_EL_META_MODELING=0
313317
WB_DB_EL_NOTIFICATIONS=0
314318
WB_DB_EL_PAYMENTS=null
315319
WB_DB_EL_PRODUCTS=0
@@ -324,7 +328,6 @@ WB_DB_EL_STUDIES_DISPATCHER=null
324328
WB_DB_EL_TAGS=0
325329
WB_DB_EL_TRACING=null
326330
WB_DB_EL_USERS={}
327-
WB_DB_EL_VERSION_CONTROL=0
328331
WB_DB_EL_WALLETS=0
329332

330333
# WEBSERVER ----
@@ -378,7 +381,6 @@ WEBSERVER_GUNICORN_CMD_ARGS=--timeout=180
378381
WEBSERVER_HOST=webserver
379382
WEBSERVER_LOGIN={}
380383
WEBSERVER_LOGLEVEL=INFO
381-
WEBSERVER_META_MODELING=1
382384
WEBSERVER_NOTIFICATIONS=1
383385
WEBSERVER_PAYMENTS={}
384386
WEBSERVER_PORT=8080
@@ -396,4 +398,3 @@ WEBSERVER_STUDIES_DISPATCHER={}
396398
WEBSERVER_TAGS=1
397399
WEBSERVER_TRACING=null
398400
WEBSERVER_USERS={}
399-
WEBSERVER_VERSION_CONTROL=1

.github/CODEOWNERS

Lines changed: 40 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -4,45 +4,46 @@
44

55

66
# files and folders recursively
7-
.env-* @mrnicegyu11 @YuryHrytsuk
8-
Makefile @pcrespov @sanderegg
7+
.env-* @mrnicegyu11 @YuryHrytsuk
8+
Makefile @pcrespov @sanderegg
99

1010

1111
# NOTE: '/' denotes the root of the repository
12-
/.github/ @sanderegg @pcrespov
13-
/api/ @sanderegg @pcrespov @matusdrobuliak66
14-
/ci/ @sanderegg @pcrespov
15-
/docs/ @pcrespov
16-
/packages/common-library/ @giancarloromeo
17-
/packages/models-library/ @sanderegg @pcrespov @matusdrobuliak66 @giancarloromeo
18-
/packages/postgres-database/ @matusdrobuliak66
19-
/packages/pytest-simcore/ @pcrespov @sanderegg
20-
/packages/service-integration/ @pcrespov @sanderegg @GitHK
21-
/packages/service-library/ @pcrespov
22-
/packages/settings-library/ @pcrespov @sanderegg
23-
/requirements/ @pcrespov @matusdrobuliak66
24-
/services/agent/ @GitHK
25-
/services/api-server/ @pcrespov
26-
/services/autoscaling/ @sanderegg
27-
/services/catalog/ @pcrespov @sanderegg
28-
/services/clusters-keeper/ @sanderegg
29-
/services/datcore-adapter/ @sanderegg
30-
/services/director*/ @sanderegg @pcrespov @GitHK
31-
/services/docker-compose*.yml @sanderegg @mrnicegyu11 @YuryHrytsuk
32-
/services/dynamic-sidecar/ @GitHK
33-
/services/efs-guardian/ @matusdrobuliak66
34-
/services/invitations/ @pcrespov
35-
/services/migration/ @pcrespov
36-
/services/payments/ @pcrespov @matusdrobuliak66
37-
/services/resource-usage-tracker/ @matusdrobuliak66
38-
/services/static-webserver/ @GitHK
39-
/services/static-webserver/client/ @jsaq007 @odeimaiz @ignapas
40-
/services/storage/ @sanderegg
41-
/services/web/server/ @pcrespov @sanderegg @GitHK @matusdrobuliak66
42-
/tests/e2e-frontend/ @odeimaiz
43-
/tests/e2e-playwright/ @matusdrobuliak66
44-
/tests/environment-setup/ @pcrespov
45-
/tests/performance/ @pcrespov @sanderegg
46-
/tests/public-api/ @pcrespov
47-
requirements/* @pcrespov
48-
tools/* @pcrespov
12+
/.github/ @sanderegg @pcrespov
13+
/api/ @sanderegg @pcrespov @matusdrobuliak66
14+
/ci/ @sanderegg @pcrespov
15+
/docs/ @pcrespov
16+
/packages/common-library/ @giancarloromeo
17+
/packages/models-library/ @sanderegg @pcrespov @matusdrobuliak66 @giancarloromeo
18+
/packages/postgres-database/ @matusdrobuliak66
19+
/packages/pytest-simcore/ @pcrespov @sanderegg
20+
/packages/service-integration/ @pcrespov @sanderegg @GitHK
21+
/packages/service-library/ @pcrespov
22+
/packages/settings-library/ @pcrespov @sanderegg
23+
/requirements/ @pcrespov @matusdrobuliak66
24+
/services/agent/ @GitHK
25+
/services/api-server/ @pcrespov
26+
/services/api-server/tests/unit/pact_broker/ @matusdrobuliak66
27+
/services/autoscaling/ @sanderegg
28+
/services/catalog/ @pcrespov @sanderegg
29+
/services/clusters-keeper/ @sanderegg
30+
/services/datcore-adapter/ @sanderegg
31+
/services/director*/ @sanderegg @pcrespov @GitHK
32+
/services/docker-compose*.yml @sanderegg @mrnicegyu11 @YuryHrytsuk
33+
/services/dynamic-sidecar/ @GitHK
34+
/services/efs-guardian/ @matusdrobuliak66
35+
/services/invitations/ @pcrespov
36+
/services/migration/ @pcrespov
37+
/services/payments/ @pcrespov @matusdrobuliak66
38+
/services/resource-usage-tracker/ @matusdrobuliak66
39+
/services/static-webserver/ @GitHK
40+
/services/static-webserver/client/ @odeimaiz
41+
/services/storage/ @sanderegg
42+
/services/web/server/ @pcrespov @sanderegg @GitHK @matusdrobuliak66
43+
/tests/e2e-frontend/ @odeimaiz
44+
/tests/e2e-playwright/ @matusdrobuliak66
45+
/tests/environment-setup/ @pcrespov
46+
/tests/performance/ @pcrespov @sanderegg
47+
/tests/public-api/ @pcrespov
48+
requirements/* @pcrespov
49+
tools/* @pcrespov

.github/mergify.yml

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -22,48 +22,3 @@ queue_rules:
2222
- check-success=unit-tests
2323
- check-success=integration-tests
2424
- check-success=system-tests
25-
26-
27-
pull_request_rules:
28-
- name: retry flaky tests (when PR is approved)
29-
conditions:
30-
- label=🤖-automerge
31-
- label!=🤖-do-not-merge
32-
- 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-
40-
- 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
45-
- check-failure=unit-tests
46-
- check-failure=integration-tests
47-
- check-failure=system-tests
48-
actions:
49-
comment:
50-
message: "Restarted CI due to failing tests"
51-
github_actions:
52-
workflow:
53-
dispatch:
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
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# This workflow holds jobs which are required to pass before merging into master
2+
3+
name: CI PACT Master
4+
on:
5+
push:
6+
branches:
7+
- "master"
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
pact-tests:
15+
timeout-minutes: 10
16+
name: "Run PACT tests"
17+
runs-on: ubuntu-latest
18+
env:
19+
# secrets can be set in settings/secrets on github
20+
PACT_BROKER_URL: ${{ secrets.PACT_BROKER_URL }}
21+
PACT_BROKER_USERNAME: ${{ secrets.PACT_BROKER_USERNAME }}
22+
PACT_BROKER_PASSWORD: ${{ secrets.PACT_BROKER_PASSWORD }}
23+
steps:
24+
- name: setup python environment
25+
uses: actions/setup-python@v5
26+
with:
27+
python-version: "3.11"
28+
- name: install uv
29+
uses: astral-sh/setup-uv@v5
30+
with:
31+
version: "0.5.x"
32+
enable-cache: false
33+
- name: checkout source branch
34+
uses: actions/checkout@v4
35+
- name: Run pact tests
36+
run: |
37+
make devenv
38+
source .venv/bin/activate
39+
cd services/api-server
40+
make install-ci
41+
make test-pacts

.github/workflows/ci-testing-deploy.yml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ jobs:
7777
migration: ${{ steps.filter.outputs.migration }}
7878
payments: ${{ steps.filter.outputs.payments }}
7979
dynamic-scheduler: ${{ steps.filter.outputs.dynamic-scheduler }}
80+
docker-api-proxy: ${{ steps.filter.outputs.docker-api-proxy }}
8081
resource-usage-tracker: ${{ steps.filter.outputs.resource-usage-tracker }}
8182
static-webserver: ${{ steps.filter.outputs.static-webserver }}
8283
storage: ${{ steps.filter.outputs.storage }}
@@ -233,6 +234,9 @@ jobs:
233234
- 'services/docker-compose*'
234235
- 'scripts/mypy/*'
235236
- 'mypy.ini'
237+
docker-api-proxy:
238+
- 'packages/**'
239+
- 'services/docker-api-proxy/**'
236240
resource-usage-tracker:
237241
- 'packages/**'
238242
- 'services/resource-usage-tracker/**'
@@ -2190,6 +2194,71 @@ jobs:
21902194
with:
21912195
flags: integrationtests #optional
21922196

2197+
2198+
integration-test-docker-api-proxy:
2199+
needs: [changes, build-test-images]
2200+
if: ${{ needs.changes.outputs.anything-py == 'true' || needs.changes.outputs.docker-api-proxy == 'true' || github.event_name == 'push'}}
2201+
timeout-minutes: 30 # if this timeout gets too small, then split the tests
2202+
name: "[int] docker-api-proxy"
2203+
runs-on: ${{ matrix.os }}
2204+
strategy:
2205+
matrix:
2206+
python: ["3.11"]
2207+
os: [ubuntu-22.04]
2208+
fail-fast: false
2209+
steps:
2210+
- uses: actions/checkout@v4
2211+
- name: setup docker buildx
2212+
id: buildx
2213+
uses: docker/setup-buildx-action@v3
2214+
with:
2215+
driver: docker-container
2216+
- name: setup python environment
2217+
uses: actions/setup-python@v5
2218+
with:
2219+
python-version: ${{ matrix.python }}
2220+
- name: expose github runtime for buildx
2221+
uses: crazy-max/ghaction-github-runtime@v3
2222+
# FIXME: Workaround for https://github.com/actions/download-artifact/issues/249
2223+
- name: download docker images with retry
2224+
uses: Wandalen/wretry.action@master
2225+
with:
2226+
action: actions/download-artifact@v4
2227+
with: |
2228+
name: docker-buildx-images-${{ runner.os }}-${{ github.sha }}-backend
2229+
path: /${{ runner.temp }}/build
2230+
attempt_limit: 5
2231+
attempt_delay: 1000
2232+
- name: load docker images
2233+
run: make load-images local-src=/${{ runner.temp }}/build
2234+
- name: install uv
2235+
uses: astral-sh/setup-uv@v5
2236+
with:
2237+
version: "0.5.x"
2238+
enable-cache: false
2239+
cache-dependency-glob: "**/docker-api-proxy/requirements/ci.txt"
2240+
- name: show system version
2241+
run: ./ci/helpers/show_system_versions.bash
2242+
- name: install
2243+
run: ./ci/github/integration-testing/docker-api-proxy.bash install
2244+
- name: test
2245+
run: ./ci/github/integration-testing/docker-api-proxy.bash test
2246+
- name: upload failed tests logs
2247+
if: ${{ failure() }}
2248+
uses: actions/upload-artifact@v4
2249+
with:
2250+
name: ${{ github.job }}_docker_logs
2251+
path: ./services/docker-api-proxy/test_failures
2252+
- name: cleanup
2253+
if: ${{ !cancelled() }}
2254+
run: ./ci/github/integration-testing/docker-api-proxy.bash clean_up
2255+
- uses: codecov/codecov-action@v5
2256+
if: ${{ !cancelled() }}
2257+
env:
2258+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
2259+
with:
2260+
flags: integrationtests #optional
2261+
21932262
integration-test-simcore-sdk:
21942263
needs: [changes, build-test-images]
21952264
if: ${{ needs.changes.outputs.anything-py == 'true' || needs.changes.outputs.simcore-sdk == 'true' || github.event_name == 'push' }}
@@ -2262,6 +2331,7 @@ jobs:
22622331
integration-test-director-v2-01,
22632332
integration-test-director-v2-02,
22642333
integration-test-dynamic-sidecar,
2334+
integration-test-docker-api-proxy,
22652335
integration-test-simcore-sdk,
22662336
integration-test-webserver-01,
22672337
integration-test-webserver-02,

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
- name: Check openapi specs are up to date
4040
run: |
4141
if ! ./ci/github/helpers/openapi-specs-diff.bash diff \
42-
https://raw.githubusercontent.com/${{ github.event.pull_request.head.repo.full_name }}/${{ github.event.after }} \
42+
https://raw.githubusercontent.com/${{ github.event.pull_request.head.repo.full_name }}/${{ github.event.pull_request.head.sha }} \
4343
.; then \
4444
echo "::error:: OAS are not up to date. Run 'make openapi-specs' to update them"; exit 1; \
4545
fi
@@ -59,7 +59,7 @@ jobs:
5959
- name: check api-server backwards compatibility
6060
run: |
6161
./scripts/openapi-diff.bash breaking --fail-on ERR\
62-
https://raw.githubusercontent.com/${{ github.event.pull_request.base.repo.full_name }}/${{ github.event.after }}/services/api-server/openapi.json \
62+
https://raw.githubusercontent.com/${{ github.event.pull_request.base.repo.full_name }}/refs/heads/${{ github.base_ref }}/services/api-server/openapi.json \
6363
/specs/services/api-server/openapi.json
6464
6565
all-oas-breaking:
@@ -78,5 +78,5 @@ jobs:
7878
- name: Check openapi-specs backwards compatibility
7979
run: |
8080
./ci/github/helpers/openapi-specs-diff.bash breaking \
81-
https://raw.githubusercontent.com/${{ github.event.pull_request.base.repo.full_name }}/${{ github.event.after }} \
81+
https://raw.githubusercontent.com/${{ github.event.pull_request.base.repo.full_name }}/refs/heads/${{ github.base_ref }} \
8282
.

0 commit comments

Comments
 (0)