Skip to content

Commit 53d0389

Browse files
committed
update base image to arm-friendly one
1 parent 15969d3 commit 53d0389

File tree

4 files changed

+82
-8
lines changed

4 files changed

+82
-8
lines changed

contracts/docker/Dockerfile.deploy

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,24 @@
1-
FROM ghcr.io/foundry-rs/foundry:nightly-19d69f277de96f621d930cdb767a9693c55ae8e1 as foundry
1+
# Use the latest node Debian slim base image
2+
# This makes installing yarn dep much easier
3+
FROM node:20-bookworm-slim
24

3-
RUN apk add --no-cache bash jq
5+
# Switch to bash shell
6+
SHELL ["/bin/bash", "-c"]
47

5-
WORKDIR /contracts
8+
WORKDIR /root
9+
10+
# Install dependencies
11+
RUN apt update
12+
RUN apt install --yes curl bash coreutils git jq
13+
14+
# Download and run the Foundry installation script
15+
RUN curl -L https://foundry.paradigm.xyz | bash
16+
17+
# Set the environment variables to ensure Foundry tools are in the PATH
18+
ENV PATH="/root/.foundry/bin:${PATH}"
19+
20+
# Run foundryup to update Foundry
21+
RUN foundryup -v nightly-88011569efcebc9152267be217c8cfbedc32c07c
622

723
# copy dependencies
824
COPY ./lib /contracts/lib
@@ -20,6 +36,7 @@ COPY ./scripts /contracts/scripts
2036
ENV FOUNDRY_EVM_VERSION="cancun"
2137
ENV FOUNDRY_BYTECODE_HASH="none"
2238

39+
WORKDIR /contracts
2340
RUN forge build
2441

2542
# copy script configs

contracts/docker/Dockerfile.gen-configs

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,24 @@
1-
FROM ghcr.io/foundry-rs/foundry:nightly-19d69f277de96f621d930cdb767a9693c55ae8e1 as foundry
1+
# Use the latest node Debian slim base image
2+
# This makes installing yarn dep much easier
3+
FROM node:20-bookworm-slim
24

3-
RUN apk add --no-cache bash jq
5+
# Switch to bash shell
6+
SHELL ["/bin/bash", "-c"]
47

5-
WORKDIR /contracts
8+
WORKDIR /root
9+
10+
# Install dependencies
11+
RUN apt update
12+
RUN apt install --yes curl bash coreutils git jq
13+
14+
# Download and run the Foundry installation script
15+
RUN curl -L https://foundry.paradigm.xyz | bash
16+
17+
# Set the environment variables to ensure Foundry tools are in the PATH
18+
ENV PATH="/root/.foundry/bin:${PATH}"
19+
20+
# Run foundryup to update Foundry
21+
RUN foundryup -v nightly-88011569efcebc9152267be217c8cfbedc32c07c
622

723
# copy dependencies
824
COPY ./lib /contracts/lib
@@ -20,6 +36,7 @@ COPY ./scripts /contracts/scripts
2036
ENV FOUNDRY_EVM_VERSION="cancun"
2137
ENV FOUNDRY_BYTECODE_HASH="none"
2238

39+
WORKDIR /contracts
2340
RUN forge build
2441

2542
# copy script configs

contracts/docker/scripts/build.sh

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,22 @@ tag=${latest_commit:0:8}
55
echo "Using Docker image tag: $tag"
66
echo ""
77

8-
docker build -f docker/Dockerfile.gen-configs -t scrolltech/scroll-stack-contracts:gen-configs-$tag --platform linux/amd64 .
8+
docker build -f docker/Dockerfile.gen-configs -t scrolltech/scroll-stack-contracts:gen-configs-$tag-amd64 --platform linux/amd64 .
9+
echo
10+
echo "built scrolltech/scroll-stack-contracts:gen-configs-$tag-amd64"
11+
echo
912

10-
docker build -f docker/Dockerfile.deploy -t scrolltech/scroll-stack-contracts:deploy-$tag --platform linux/amd64 .
13+
docker build -f docker/Dockerfile.gen-configs -t scrolltech/scroll-stack-contracts:gen-configs-$tag-arm64 --platform linux/arm64 .
14+
echo
15+
echo "built scrolltech/scroll-stack-contracts:gen-configs-$tag-arm64"
16+
echo
17+
18+
docker build -f docker/Dockerfile.deploy -t scrolltech/scroll-stack-contracts:deploy-$tag-amd64 --platform linux/amd64 .
19+
echo
20+
echo "built scrolltech/scroll-stack-contracts:deploy-$tag-amd64"
21+
echo
22+
23+
docker build -f docker/Dockerfile.deploy -t scrolltech/scroll-stack-contracts:deploy-$tag-arm64 --platform linux/arm64 .
24+
echo
25+
echo "built scrolltech/scroll-stack-contracts:deploy-$tag-arm64"
26+
echo

contracts/docker/scripts/push.sh

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/bin/sh
2+
3+
latest_commit=$(git log -1 --pretty=format:%h)
4+
tag=${latest_commit:0:8}
5+
echo "Using Docker image tag: $tag"
6+
echo ""
7+
8+
docker push scrolltech/scroll-stack-contracts:gen-configs-$tag-amd64
9+
docker push scrolltech/scroll-stack-contracts:gen-configs-$tag-arm64
10+
11+
docker manifest create scrolltech/scroll-stack-contracts:gen-configs-$tag \
12+
--amend scrolltech/scroll-stack-contracts:gen-configs-$tag-amd64 \
13+
--amend scrolltech/scroll-stack-contracts:gen-configs-$tag-arm64
14+
15+
docker manifest push scrolltech/scroll-stack-contracts:gen-configs-$tag
16+
17+
docker push scrolltech/scroll-stack-contracts:deploy-$tag-amd64
18+
docker push scrolltech/scroll-stack-contracts:deploy-$tag-arm64
19+
20+
docker manifest create scrolltech/scroll-stack-contracts:deploy-$tag \
21+
--amend scrolltech/scroll-stack-contracts:deploy-$tag-amd64 \
22+
--amend scrolltech/scroll-stack-contracts:deploy-$tag-arm64
23+
24+
docker manifest push scrolltech/scroll-stack-contracts:deploy-$tag

0 commit comments

Comments
 (0)