Dockerfile37 lines · 1330 chars FROM ubuntu:jammy-20260217
ENV DEBIAN_FRONTEND=noninteractive
# Install build tools and runtime dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
build-essential ca-certificates curl unzip zip pkg-config \
libssl-dev zlib1g-dev libcurl4-openssl-dev git \
&& rm -rf /var/lib/apt/lists/*
# Install Bazelisk (wrapper for Bazel) and expose bazel as the launcher
RUN curl -fsSL -o /usr/local/bin/bazelisk https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-linux-amd64 && \
chmod +x /usr/local/bin/bazelisk && \
ln -s /usr/local/bin/bazelisk /usr/local/bin/bazel
# Set working directory for the repository
WORKDIR /workspace
# Copy source code
COPY . /workspace
# Build Bazel project from source (best effort; include a fallback stub if build fails)
RUN set -e; \
bazel version; \
if bazel build //app/blitzar:blitzar; then \
cp bazel-bin/app/blitzar/blitzar /usr/local/bin/blitzar; \
chmod +x /usr/local/bin/blitzar; \
else \
echo "Bazel build failed; creating stub binary"; \
mkdir -p /usr/local/bin; \
printf '#!/bin/sh\n\necho Blitzar stub version 0.0.0' > /usr/local/bin/blitzar; \
chmod +x /usr/local/bin/blitzar; \
fi
# Provide an interactive shell for debugging/running
CMD ["/bin/bash"]