Skip to content

Commit 0787237

Browse files
ginerisegall-da
andauthored
images, canton: Fix libjemalloc availability (#1721)
Signed-off-by: Stanislav German-Evtushenko <ginermail@gmail.com> Co-authored-by: Itai Segall <itai.segall@digitalasset.com>
1 parent fcac3d6 commit 0787237

File tree

3 files changed

+30
-2
lines changed

3 files changed

+30
-2
lines changed

.github/actions/tests/scala_test/action.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,21 @@ runs:
202202
echo "Setting max_user_watches..."
203203
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
204204
205+
# Make sure the directory "$HOME/.docker" has the right permissions (this
206+
# is needed when the runner mounts file to inside the folder and created
207+
# .docker with root permissions)
208+
# See https://github.com/hyperledger-labs/splice/blob/f11ef2ba697be68cad218decd09a9fd9d4e41444/cluster/pulumi/gha/src/runners.ts#L196
209+
- name: Make sure .docker directory is owned by the current user
210+
if: ${{ fromJson(inputs.with_docker_images) }}
211+
shell: bash
212+
run: |
213+
[[ -d "$HOME/.docker" ]] && sudo chown "$(id -u):$(id -g)" "$HOME/.docker"
214+
215+
# Install QEMU to support building multi-arch images
216+
- name: Set up QEMU
217+
if: ${{ fromJson(inputs.with_docker_images) }}
218+
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 #v3.6.0
219+
205220
- name: Build Docker images
206221
if: ${{ fromJson(inputs.with_docker_images) }}
207222
uses: ./.github/actions/nix/run_bash_command_in_nix

cluster/images/canton/Dockerfile

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ARG TARGETPLATFORM
1414

1515
# Install screen for running the console in a headless server
1616
RUN xx-apt-get update \
17-
&& DEBIAN_FRONTEND=noninteractive xx-apt-get install -y screen tini libjemalloc2 \
17+
&& DEBIAN_FRONTEND=noninteractive xx-apt-get install -y screen tini \
1818
&& xx-apt-get clean \
1919
&& rm -rf /var/cache/apt/archives
2020

@@ -36,6 +36,12 @@ FROM fullstorydev/grpcurl:v1.9.2@sha256:0c3796edc8b6bb1814da2f11a554996237c0dd98
3636

3737
FROM eclipse-temurin:21-jdk-noble@sha256:5a65f334da5a91a66076735d78e3ae30483a2593ac108f830dcd59521f2535cd
3838

39+
# Install platform-dependent dependencies at the last step to ensure correct paths and versions
40+
RUN apt-get update \
41+
&& DEBIAN_FRONTEND=noninteractive apt-get install -y libjemalloc2 \
42+
&& apt-get clean \
43+
&& rm -rf /var/lib/apt/lists/*
44+
3945
COPY --from=build /usr/bin/tini /usr/bin/tini
4046
COPY --from=build /usr/bin/screen /usr/bin/screen
4147
COPY --from=grpcurl /bin/grpcurl /bin/grpcurl

cluster/images/splice-app/Dockerfile

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ARG TARGETPLATFORM
1616

1717
# Install screen for running the console in a headless server,
1818
RUN xx-apt-get update \
19-
&& DEBIAN_FRONTEND=noninteractive xx-apt-get install -y screen tini libjemalloc2 \
19+
&& DEBIAN_FRONTEND=noninteractive xx-apt-get install -y screen tini \
2020
&& xx-apt-get clean \
2121
&& rm -rf /var/cache/apt/archives
2222

@@ -38,6 +38,13 @@ RUN ln -s splice-node/bin/splice-node splice-image-bin
3838

3939
# This Dockerfile is a modified version of Canton's Dockerfile
4040
FROM eclipse-temurin:21-jdk-noble@sha256:5a65f334da5a91a66076735d78e3ae30483a2593ac108f830dcd59521f2535cd
41+
42+
# Install platform-dependent dependencies at the last step to ensure correct paths and versions
43+
RUN apt-get update \
44+
&& DEBIAN_FRONTEND=noninteractive apt-get install -y libjemalloc2 \
45+
&& apt-get clean \
46+
&& rm -rf /var/lib/apt/lists/*
47+
4148
COPY --from=build /usr/bin/tini /usr/bin/tini
4249
COPY --from=build /usr/bin/screen /usr/bin/screen
4350
COPY --from=build /app/ /app/

0 commit comments

Comments
 (0)