psb/Dockerfile
2026-02-26 01:32:12 -05:00

39 lines
919 B
Docker

FROM haskell:9.10-slim-bookworm AS build
RUN cabal update
COPY ./psb.cabal /mnt
WORKDIR /mnt
RUN cabal build --only-dependencies
COPY . /mnt
RUN cabal build
WORKDIR /github/workspace
FROM debian:12
RUN mkdir -p /github/workspace
RUN apt update
RUN apt upgrade -y
RUN apt install locales curl -y
# unfortunately debian is eternally outdated so we need to get esbuild from npm
RUN curl -fsSL https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz \
| tar -xz --strip-components=2 -C /usr/local/bin package/bin/esbuild
# If I don't do this then some bit in Haskell throws a fit for BS Locale reasons
RUN locale-gen en_US.UTF-8
ENV LANG=C.UTF-8
COPY --from=build /mnt /mnt
RUN export folder=$(ls /mnt/dist-newstyle/build/x86_64-linux) && mv /mnt/dist-newstyle/build/x86_64-linux/"$folder"/psb-0.2.0.0/x/psb/build/psb/psb /mnt/psb
WORKDIR /github/workspace
ENTRYPOINT ["/mnt/psb", "build"]