Skip to content

Commit 84f9c16

Browse files
Merge branch 'master' into add-conversations
2 parents 44c17fe + 85d61c3 commit 84f9c16

File tree

21 files changed

+174
-56
lines changed

21 files changed

+174
-56
lines changed

.github/workflows/_reusable-build-images.yml

Lines changed: 12 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,11 @@ on:
1919
required: true
2020
type: string
2121
description: "Runner OS to use"
22-
outputs:
23-
backend-artifact-name:
24-
description: "Name of the backend artifact"
25-
value: ${{ jobs.build-test-images.outputs.artifact-name }}
26-
frontend-artifact-name:
27-
description: "Name of the frontend artifact"
28-
value: ${{ jobs.build-test-images-frontend.outputs.artifact-name }}
2922

3023
jobs:
3124
build-test-images:
32-
if: ${{ inputs.build-backend }}
3325
timeout-minutes: 30
3426
runs-on: ${{ inputs.os }}
35-
outputs:
36-
artifact-name: docker-buildx-images-${{ runner.os }}-${{ github.sha }}-backend
3727
steps:
3828
- uses: actions/checkout@v4
3929
- name: setup docker buildx
@@ -45,40 +35,26 @@ jobs:
4535
uses: crazy-max/ghaction-github-runtime@v3
4636
- name: show system environs
4737
run: ./ci/helpers/show_system_versions.bash
48-
- name: build images
38+
- name: build backend images
39+
if: ${{ inputs.build-backend }}
4940
run: |
5041
export DOCKER_IMAGE_TAG=$(exec ci/helpers/build_docker_image_tag.bash)
5142
mkdir --parents /${{ runner.temp }}/build
5243
make build local-dest=/${{ runner.temp }}/build exclude=static-webserver
53-
- name: upload build artifacts
54-
uses: actions/upload-artifact@v4
55-
with:
56-
name: docker-buildx-images-${{ runner.os }}-${{ github.sha }}-backend
57-
path: /${{ runner.temp }}/build
58-
59-
build-test-images-frontend:
60-
if: ${{ inputs.build-frontend }}
61-
timeout-minutes: 30
62-
runs-on: ${{ inputs.os }}
63-
outputs:
64-
artifact-name: docker-buildx-images-${{ runner.os }}-${{ github.sha }}-frontend
65-
steps:
66-
- uses: actions/checkout@v4
67-
- name: setup docker buildx
68-
id: buildx
69-
uses: docker/setup-buildx-action@v3
70-
with:
71-
driver: docker-container
72-
- name: expose github runtime for buildx
73-
uses: crazy-max/ghaction-github-runtime@v3
74-
- name: show system environs
75-
run: ./ci/helpers/show_system_versions.bash
76-
- name: build images
44+
- name: build frontend images
45+
if: ${{ inputs.build-frontend }}
7746
run: |
7847
export DOCKER_IMAGE_TAG=$(exec ci/helpers/build_docker_image_tag.bash)
7948
mkdir --parents /${{ runner.temp }}/build
8049
make build local-dest=/${{ runner.temp }}/build target=static-webserver
81-
- name: upload build artifacts
50+
- name: upload backend artifacts
51+
if: ${{ inputs.build-backend }}
52+
uses: actions/upload-artifact@v4
53+
with:
54+
name: docker-buildx-images-${{ runner.os }}-${{ github.sha }}-backend
55+
path: /${{ runner.temp }}/build
56+
- name: upload frontend artifacts
57+
if: ${{ inputs.build-frontend }}
8258
uses: actions/upload-artifact@v4
8359
with:
8460
name: docker-buildx-images-${{ runner.os }}-${{ github.sha }}-frontend

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

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -267,26 +267,16 @@ jobs:
267267
anything-js:
268268
- '**/*.js'
269269
build-test-images:
270-
# this step comes first, so that it is executed as first job in push calls
271-
# in PR calls this step is anyway skipped
272-
needs: changes
273-
if: ${{ needs.changes.outputs.anything == 'true' || github.event_name == 'push' || github.event.inputs.force_all_builds == 'true' }}
274-
uses: ./.github/workflows/_reusable-build-images.yml
275-
with:
276-
build-backend: true
277-
build-frontend: false
278-
os: ubuntu-24.04
279-
python-version: "3.11"
280-
281-
build-test-images-frontend:
282-
# this step comes first, so that it is executed as first job in push calls
283-
# in PR calls this step is anyway skipped
284270
needs: changes
285271
if: ${{ needs.changes.outputs.anything == 'true' || github.event_name == 'push' || github.event.inputs.force_all_builds == 'true' }}
272+
strategy:
273+
matrix:
274+
type: [backend, frontend]
275+
fail-fast: false
286276
uses: ./.github/workflows/_reusable-build-images.yml
287277
with:
288-
build-backend: false
289-
build-frontend: true
278+
build-backend: ${{ matrix.type == 'backend' }}
279+
build-frontend: ${{ matrix.type == 'frontend' }}
290280
os: ubuntu-24.04
291281
python-version: "3.11"
292282

@@ -2343,7 +2333,7 @@ jobs:
23432333
run: echo "::notice All good!"
23442334

23452335
system-test-public-api:
2346-
needs: [changes, build-test-images, build-test-images-frontend]
2336+
needs: [changes, build-test-images]
23472337
if: ${{ needs.changes.outputs.anything == 'true' || github.event_name == 'push' || github.event.inputs.force_all_builds == 'true' }}
23482338
timeout-minutes: 25 # if this timeout gets too small, then split the tests
23492339
name: "[sys] public api"
@@ -2403,7 +2393,7 @@ jobs:
24032393
run: ./ci/github/system-testing/public-api.bash clean_up
24042394

24052395
system-test-swarm-deploy:
2406-
needs: [changes, build-test-images, build-test-images-frontend]
2396+
needs: [changes, build-test-images]
24072397
if: ${{ needs.changes.outputs.anything == 'true' || github.event_name == 'push' || github.event.inputs.force_all_builds == 'true' }}
24082398
timeout-minutes: 30 # if this timeout gets too small, then split the tests
24092399
name: "[sys] deploy simcore"
@@ -2468,7 +2458,7 @@ jobs:
24682458
run: ./ci/github/system-testing/swarm-deploy.bash clean_up
24692459

24702460
system-test-e2e:
2471-
needs: [changes, build-test-images, build-test-images-frontend]
2461+
needs: [changes, build-test-images]
24722462
if: ${{ needs.changes.outputs.anything == 'true' || github.event_name == 'push' || github.event.inputs.force_all_builds == 'true' }}
24732463
timeout-minutes: 30 # if this timeout gets too small, then split the tests
24742464
name: "[sys] e2e"
@@ -2548,7 +2538,7 @@ jobs:
25482538
run: ./ci/github/system-testing/e2e.bash clean_up
25492539

25502540
system-test-e2e-playwright:
2551-
needs: [changes, build-test-images, build-test-images-frontend]
2541+
needs: [changes, build-test-images]
25522542
if: ${{ needs.changes.outputs.anything == 'true' || github.event_name == 'push' || github.event.inputs.force_all_builds == 'true' }}
25532543
timeout-minutes: 30 # if this timeout gets too small, then split the tests
25542544
name: "[sys] e2e-playwright"

services/agent/Dockerfile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,14 @@ COPY --from=uv_build /uv /uvx /bin/
8787
# packages may be moved to production image easily by copying the venv
8888
RUN uv venv "${VIRTUAL_ENV}"
8989

90+
# Set UV_CONCURRENT_INSTALLS=1 for ARM64 to improve build performance
91+
# These environment variables are necessary because of https://github.com/astral-sh/uv/issues/6105
92+
# and until https://gitlab.com/qemu-project/qemu/-/issues/2846 gets fixed
93+
RUN if [ "$TARGETARCH" = "arm64" ]; then \
94+
echo "Setting UV_CONCURRENT_INSTALLS=1 for ARM64 architecture"; \
95+
export UV_CONCURRENT_INSTALLS=1; \
96+
fi
97+
9098
RUN --mount=type=cache,target=/root/.cache/uv \
9199
uv pip install --upgrade \
92100
wheel \

services/api-server/Dockerfile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,14 @@ COPY --from=uv_build /uv /uvx /bin/
8080
# packages may be moved to production image easily by copying the venv
8181
RUN uv venv "${VIRTUAL_ENV}"
8282

83+
# Set UV_CONCURRENT_INSTALLS=1 for ARM64 to improve build performance
84+
# These environment variables are necessary because of https://github.com/astral-sh/uv/issues/6105
85+
# and until https://gitlab.com/qemu-project/qemu/-/issues/2846 gets fixed
86+
RUN if [ "$TARGETARCH" = "arm64" ]; then \
87+
echo "Setting UV_CONCURRENT_INSTALLS=1 for ARM64 architecture"; \
88+
export UV_CONCURRENT_INSTALLS=1; \
89+
fi
90+
8391
RUN --mount=type=cache,target=/root/.cache/uv \
8492
uv pip install --upgrade \
8593
wheel \

services/autoscaling/Dockerfile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,14 @@ COPY --from=uv_build /uv /uvx /bin/
100100
# packages may be moved to production image easily by copying the venv
101101
RUN uv venv "${VIRTUAL_ENV}"
102102

103+
# Set UV_CONCURRENT_INSTALLS=1 for ARM64 to improve build performance
104+
# These environment variables are necessary because of https://github.com/astral-sh/uv/issues/6105
105+
# and until https://gitlab.com/qemu-project/qemu/-/issues/2846 gets fixed
106+
RUN if [ "$TARGETARCH" = "arm64" ]; then \
107+
echo "Setting UV_CONCURRENT_INSTALLS=1 for ARM64 architecture"; \
108+
export UV_CONCURRENT_INSTALLS=1; \
109+
fi
110+
103111
RUN --mount=type=cache,target=/root/.cache/uv \
104112
uv pip install --upgrade \
105113
wheel \

services/catalog/Dockerfile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,14 @@ COPY --from=uv_build /uv /uvx /bin/
8181
# packages may be moved to production image easily by copying the venv
8282
RUN uv venv "${VIRTUAL_ENV}"
8383

84+
# Set UV_CONCURRENT_INSTALLS=1 for ARM64 to improve build performance
85+
# These environment variables are necessary because of https://github.com/astral-sh/uv/issues/6105
86+
# and until https://gitlab.com/qemu-project/qemu/-/issues/2846 gets fixed
87+
RUN if [ "$TARGETARCH" = "arm64" ]; then \
88+
echo "Setting UV_CONCURRENT_INSTALLS=1 for ARM64 architecture"; \
89+
export UV_CONCURRENT_INSTALLS=1; \
90+
fi
91+
8492
RUN --mount=type=cache,target=/root/.cache/uv \
8593
uv pip install --upgrade \
8694
wheel \

services/clusters-keeper/Dockerfile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,14 @@ COPY --from=uv_build /uv /uvx /bin/
9999
# packages may be moved to production image easily by copying the venv
100100
RUN uv venv "${VIRTUAL_ENV}"
101101

102+
# Set UV_CONCURRENT_INSTALLS=1 for ARM64 to improve build performance
103+
# These environment variables are necessary because of https://github.com/astral-sh/uv/issues/6105
104+
# and until https://gitlab.com/qemu-project/qemu/-/issues/2846 gets fixed
105+
RUN if [ "$TARGETARCH" = "arm64" ]; then \
106+
echo "Setting UV_CONCURRENT_INSTALLS=1 for ARM64 architecture"; \
107+
export UV_CONCURRENT_INSTALLS=1; \
108+
fi
109+
102110
RUN --mount=type=cache,target=/root/.cache/uv \
103111
uv pip install --upgrade \
104112
wheel \

services/dask-sidecar/Dockerfile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,14 @@ COPY --from=uv_build /uv /uvx /bin/
9090
# NOTE: python virtualenv is used here such that installed packages may be moved to production image easily by copying the venv
9191
RUN uv venv "${VIRTUAL_ENV}"
9292

93+
# Set UV_CONCURRENT_INSTALLS=1 for ARM64 to improve build performance
94+
# These environment variables are necessary because of https://github.com/astral-sh/uv/issues/6105
95+
# and until https://gitlab.com/qemu-project/qemu/-/issues/2846 gets fixed
96+
RUN if [ "$TARGETARCH" = "arm64" ]; then \
97+
echo "Setting UV_CONCURRENT_INSTALLS=1 for ARM64 architecture"; \
98+
export UV_CONCURRENT_INSTALLS=1; \
99+
fi
100+
93101
RUN --mount=type=cache,target=/root/.cache/uv \
94102
uv pip install --upgrade \
95103
wheel \

services/datcore-adapter/Dockerfile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,14 @@ COPY --from=uv_build /uv /uvx /bin/
8181
# packages may be moved to production image easily by copying the venv
8282
RUN uv venv "${VIRTUAL_ENV}"
8383

84+
# Set UV_CONCURRENT_INSTALLS=1 for ARM64 to improve build performance
85+
# These environment variables are necessary because of https://github.com/astral-sh/uv/issues/6105
86+
# and until https://gitlab.com/qemu-project/qemu/-/issues/2846 gets fixed
87+
RUN if [ "$TARGETARCH" = "arm64" ]; then \
88+
echo "Setting UV_CONCURRENT_INSTALLS=1 for ARM64 architecture"; \
89+
export UV_CONCURRENT_INSTALLS=1; \
90+
fi
91+
8492
RUN --mount=type=cache,target=/root/.cache/uv \
8593
uv pip install --upgrade \
8694
wheel \

services/director-v2/Dockerfile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,14 @@ COPY --from=uv_build /uv /uvx /bin/
8181
# packages may be moved to production image easily by copying the venv
8282
RUN uv venv "${VIRTUAL_ENV}"
8383

84+
# Set UV_CONCURRENT_INSTALLS=1 for ARM64 to improve build performance
85+
# These environment variables are necessary because of https://github.com/astral-sh/uv/issues/6105
86+
# and until https://gitlab.com/qemu-project/qemu/-/issues/2846 gets fixed
87+
RUN if [ "$TARGETARCH" = "arm64" ]; then \
88+
echo "Setting UV_CONCURRENT_INSTALLS=1 for ARM64 architecture"; \
89+
export UV_CONCURRENT_INSTALLS=1; \
90+
fi
91+
8492
RUN --mount=type=cache,target=/root/.cache/uv \
8593
uv pip install --upgrade \
8694
wheel \

0 commit comments

Comments
 (0)