24 lines
921 B
Docker
24 lines
921 B
Docker
FROM docker.io/library/eclipse-temurin:21-jdk-alpine
|
|
|
|
# git is required for checkout
|
|
# python3 is required for pre-commit
|
|
# node is required for Forgejo checkout
|
|
RUN apk add curl bash git docker python3 py3-pip nodejs npm
|
|
RUN pip3 install pre-commit --break-system-packages
|
|
|
|
# Create the user - builds do not run as root.
|
|
RUN addgroup -S -g 1000 builder
|
|
RUN adduser -S -h /home/builder -s /bin/bash -G builder -u 1000 builder
|
|
|
|
# Switch to the build user. Everything else is installed at this level.
|
|
USER builder
|
|
WORKDIR /home/builder
|
|
|
|
RUN curl -fLo coursier https://github.com/coursier/launchers/raw/master/coursier
|
|
RUN chmod +x coursier
|
|
RUN ./coursier setup --yes --apps coursier,sbt,sbt-launcher,scalafmt,scalac
|
|
RUN rm ./coursier
|
|
RUN mkdir -p /home/builder/.local/bin
|
|
ENV PATH="${PATH}:/home/builder/.local/share/coursier/bin"
|
|
ENV PATH="${PATH}:/home/builder/.local/bin"
|
|
RUN git config --global init.defaultBranch main
|