Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/workflows/monorepo-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ on:
- 'docker-entrypoint.sh'
- '.dockerignore'
- '.github/workflows/monorepo-docker.yml'
- 'solidity/.foundryrc'
- 'typescript/ccip-server/**'
# Dependency changes that could affect the Docker build
- 'yarn.lock'
Expand Down Expand Up @@ -99,6 +100,12 @@ jobs:
REGISTRY_VERSION=$(cat .registryrc)
echo "REGISTRY_VERSION=$REGISTRY_VERSION" >> $GITHUB_ENV

- name: Read Foundry version
shell: bash
run: |
FOUNDRY_VERSION=$(cat solidity/.foundryrc)
echo "FOUNDRY_VERSION=$FOUNDRY_VERSION" >> $GITHUB_ENV

- name: Determine platforms
id: determine-platforms
run: |
Expand All @@ -119,6 +126,7 @@ jobs:
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
FOUNDRY_VERSION=${{ env.FOUNDRY_VERSION }}
REGISTRY_COMMIT=${{ env.REGISTRY_VERSION }}
platforms: ${{ steps.determine-platforms.outputs.platforms }}

Expand Down
18 changes: 8 additions & 10 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
FROM node:20-slim
FROM node:20-alpine

WORKDIR /hyperlane-monorepo

RUN apt-get update && apt-get install -y --no-install-recommends \
git g++ make python3 python3-pip jq bash curl ca-certificates unzip \
&& rm -rf /var/lib/apt/lists/* \
&& yarn set version 4.5.1
RUN apk add --update --no-cache git g++ make py3-pip jq bash curl && \
yarn set version 4.5.1

# Install Foundry for solidity builds (early for layer caching)
COPY solidity/.foundryrc ./solidity/
RUN curl -L https://foundry.paradigm.xyz | bash
RUN /root/.foundry/bin/foundryup --install $(cat solidity/.foundryrc)
ENV PATH="/root/.foundry/bin:${PATH}"
# Install Foundry (Alpine binaries) - pinned version for reproducibility
ARG FOUNDRY_VERSION
ARG TARGETARCH
RUN ARCH=$([ "$TARGETARCH" = "arm64" ] && echo "arm64" || echo "amd64") && \
curl -L "https://github.com/foundry-rs/foundry/releases/download/${FOUNDRY_VERSION}/foundry_${FOUNDRY_VERSION}_alpine_${ARCH}.tar.gz" | tar -xzC /usr/local/bin forge cast
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated

# Copy package.json and friends
COPY package.json yarn.lock .yarnrc.yml ./
Expand Down
Loading