FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
RUN set -eux; \
apt-get update; \
apt-get install -y --no-install-recommends \
build-essential \
lua5.3 \
lua5.3-dev \
ruby-full \
git \
ca-certificates \
zlib1g-dev \
libssl-dev \
libreadline-dev \
wget; \
rm -rf /var/lib/apt/lists/*
# Create lua symlinks if needed
RUN ln -s /usr/bin/lua5.3 /usr/local/bin/lua || true; \
ln -s /usr/bin/luac5.3 /usr/local/bin/luac || true
# Set workdir and copy code
WORKDIR /workspace
COPY . /workspace
# Install Ruby dependencies (rake)
RUN gem update --system || true
RUN gem install rake
# Build the project (default target)
RUN rake -f rakefile install
CMD ["/bin/bash"]
.git node_modules vendor build *.log *.tmp *.swp *.swo .DS_Store *.pyc *.class *.o *.so *.a *.jar *.exe *.dll """
Concerns: Build relies on a rakefile named rakefile; if the project uses a Rakefile (capital R) the build step may fail due to case sensitivity., Final image CMD is /bin/bash which is fine for dev testing but may be undesirable for production/containerized usage unless a specific entrypoint is provided.
Smoke [PASS]: lua5.3 -v
Smoke [FAIL]: lua5.3 -e 'print("smoke_ok")
Output: sh: 1: Syntax error: Unterminated quoted stringFROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
RUN set -eux; \
apt-get update; \
apt-get install -y --no-install-recommends \
build-essential \
lua5.3 \
lua5.3-dev \
ruby-full \
git \
ca-certificates \
zlib1g-dev \
libssl-dev \
libreadline-dev \
wget; \
rm -rf /var/lib/apt/lists/*
# Create lua symlinks if needed
RUN ln -s /usr/bin/lua5.3 /usr/local/bin/lua || true; \
ln -s /usr/bin/luac5.3 /usr/local/bin/luac || true
# Set workdir and copy code
WORKDIR /workspace
COPY . /workspace
# Install Ruby dependencies (rake)
RUN gem update --system || true
RUN gem install rake
# Build the project (default target)
RUN rake -f rakefile install
CMD ["/bin/bash"]
SHELL ["/bin/bash", "-lc"]
Concerns: Build may fail if the repository uses a different rakefile name (case-sensitive). The Dockerfile invokes rake -f rakefile install, which may not exist as lower-case 'rakefile' (common name is 'Rakefile'). Consider using 'rake install' or 'rake -f Rakefile install'., No explicit validation of the built artifacts is included in smoke tests; the image's runtime smoke tests only verify that Lua and Ruby tooling exist, not that the library itself is usable. Smoke [FAIL]: lua -e 'print(_VERSION) Output: sh: 1: Syntax error: Unterminated quoted string Smoke [PASS]: rake --version Smoke [FAIL]: ruby -e 'puts RUBY_VERSION Output: sh: 1: Syntax error: Unterminated quoted string
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
RUN set -eux; \
apt-get update; \
apt-get install -y --no-install-recommends \
build-essential \
lua5.3 \
lua5.3-dev \
ruby-full \
git \
ca-certificates \
zlib1g-dev \
libssl-dev \
libreadline-dev \
wget; \
rm -rf /var/lib/apt/lists/*
# Create lua symlinks if needed
RUN ln -s /usr/bin/lua5.3 /usr/local/bin/lua || true; \
ln -s /usr/bin/luac5.3 /usr/local/bin/luac || true
# Set workdir and copy code
WORKDIR /workspace
COPY . /workspace
# Install Ruby dependencies (rake)
RUN gem update --system || true
RUN gem install rake
# Build the project (default target)
RUN rake -f rakefile install
CMD ["/bin/sh"]
Concerns: Final image includes full Ruby and build tooling which increases image size; consider multi-stage build or cleanup if not needed at runtime, No explicit .dockerignore is shown; copying the entire repository could bloat the image; consider using .dockerignore to exclude tests or docs, Relying on rakefile for build may fail if rakefile isn't present or if dependencies change; ensure repository includes a valid build target Smoke [PASS]: lua5.3 -v Smoke [PASS]: ruby -v Smoke [PASS]: test -d /workspace && ls -la /workspace | head -n 5