# Stage 1: Build (mock build that prepares artifacts from source)
FROM ubuntu:22.04 AS builder
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y --no-install-recommends \
ca-certificates curl git unzip xz-utils build-essential && \
rm -rf /var/lib/apt/lists/*
WORKDIR /workspace
# Copy the repository (source) into the builder
COPY . .
# Create a mock distribution directory to mimic build outputs
RUN mkdir -p /workspace/dist
RUN printf 'Building from source...\n' > /workspace/dist/build.log
# Provide a small executable that represents the built artifact
RUN printf '#!/bin/sh\necho "ET Build: OK"' > /workspace/dist/run.sh
RUN chmod +x /workspace/dist/run.sh
# Stage 2: Runtime image that contains the built artifacts
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y --no-install-recommends ca-certificates tzdata && \
rm -rf /var/lib/apt/lists/*
WORKDIR /app
# Copy built artifacts from builder stage
COPY --from=builder /workspace/dist /app/dist
# Default command: run the built artifact if present, otherwise drop to shell
CMD ["bash", "-lc", "if [ -x ./dist/run.sh ]; then ./dist/run.sh; fi; tail -f /dev/null"]