mirror of
https://github.com/logos-blockchain/logos-execution-zone.git
synced 2026-03-23 18:53:13 +00:00
feat: build standalone sequencer docker image
This commit is contained in:
parent
c59d3efbcc
commit
ea7beaaaef
9
.github/workflows/publish_image.yml
vendored
9
.github/workflows/publish_image.yml
vendored
@ -11,10 +11,18 @@ jobs:
|
|||||||
include:
|
include:
|
||||||
- name: sequencer_runner
|
- name: sequencer_runner
|
||||||
dockerfile: ./sequencer_runner/Dockerfile
|
dockerfile: ./sequencer_runner/Dockerfile
|
||||||
|
build_args: |
|
||||||
|
STANDALONE=false
|
||||||
|
- name: sequencer_runner-standalone
|
||||||
|
dockerfile: ./sequencer_runner/Dockerfile
|
||||||
|
build_args: |
|
||||||
|
STANDALONE=true
|
||||||
- name: indexer_service
|
- name: indexer_service
|
||||||
dockerfile: ./indexer/service/Dockerfile
|
dockerfile: ./indexer/service/Dockerfile
|
||||||
|
build_args: ""
|
||||||
- name: explorer_service
|
- name: explorer_service
|
||||||
dockerfile: ./explorer_service/Dockerfile
|
dockerfile: ./explorer_service/Dockerfile
|
||||||
|
build_args: ""
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v5
|
||||||
|
|
||||||
@ -49,5 +57,6 @@ jobs:
|
|||||||
push: true
|
push: true
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
|
build-args: ${{ matrix.build_args }}
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=max
|
cache-to: type=gha,mode=max
|
||||||
|
|||||||
@ -31,6 +31,9 @@ RUN curl -sSL https://raw.githubusercontent.com/logos-blockchain/logos-blockchai
|
|||||||
|
|
||||||
WORKDIR /sequencer_runner
|
WORKDIR /sequencer_runner
|
||||||
|
|
||||||
|
# Build argument to enable standalone feature (defaults to false)
|
||||||
|
ARG STANDALONE=false
|
||||||
|
|
||||||
# Planner stage - generates dependency recipe
|
# Planner stage - generates dependency recipe
|
||||||
FROM chef AS planner
|
FROM chef AS planner
|
||||||
COPY . .
|
COPY . .
|
||||||
@ -38,15 +41,24 @@ RUN cargo chef prepare --bin sequencer_runner --recipe-path recipe.json
|
|||||||
|
|
||||||
# Builder stage - builds dependencies and application
|
# Builder stage - builds dependencies and application
|
||||||
FROM chef AS builder
|
FROM chef AS builder
|
||||||
|
ARG STANDALONE
|
||||||
COPY --from=planner /sequencer_runner/recipe.json recipe.json
|
COPY --from=planner /sequencer_runner/recipe.json recipe.json
|
||||||
# Build dependencies only (this layer will be cached)
|
# Build dependencies only (this layer will be cached)
|
||||||
RUN cargo chef cook --bin sequencer_runner --release --recipe-path recipe.json
|
RUN if [ "$STANDALONE" = "true" ]; then \
|
||||||
|
cargo chef cook --bin sequencer_runner --features standalone --release --recipe-path recipe.json; \
|
||||||
|
else \
|
||||||
|
cargo chef cook --bin sequencer_runner --release --recipe-path recipe.json; \
|
||||||
|
fi
|
||||||
|
|
||||||
# Copy source code
|
# Copy source code
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
# Build the actual application
|
# Build the actual application
|
||||||
RUN cargo build --release --bin sequencer_runner
|
RUN if [ "$STANDALONE" = "true" ]; then \
|
||||||
|
cargo build --release --features standalone --bin sequencer_runner; \
|
||||||
|
else \
|
||||||
|
cargo build --release --bin sequencer_runner; \
|
||||||
|
fi
|
||||||
|
|
||||||
# Strip debug symbols to reduce binary size
|
# Strip debug symbols to reduce binary size
|
||||||
RUN strip /sequencer_runner/target/release/sequencer_runner
|
RUN strip /sequencer_runner/target/release/sequencer_runner
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user