diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4dc525f..04d288d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,11 +11,11 @@ jobs: fail-fast: false matrix: # List of tags to build and upload, remember to update this - tag: [0.4.10] + tag: [0.4.11] env: dockertag: ${{ matrix.tag }} dockerimg: openrct2/openrct2-cli - dockerlst: 0.4.10 + dockerlst: 0.4.11 steps: - name: Checkout uses: actions/checkout@v3 diff --git a/0.4.11/cli/Dockerfile b/0.4.11/cli/Dockerfile new file mode 100644 index 0000000..371728a --- /dev/null +++ b/0.4.11/cli/Dockerfile @@ -0,0 +1,44 @@ +# Build OpenRCT2 +FROM ubuntu:22.04 AS build-env +ENV DEBIAN_FRONTEND=noninteractive +RUN apt-get update \ + && apt-get install --no-install-recommends -y git cmake pkg-config ninja-build clang-14 nlohmann-json3-dev libcurl4-openssl-dev libcrypto++-dev libfontconfig1-dev libfreetype6-dev libpng-dev libzip-dev libssl-dev libicu-dev libflac-dev libvorbis-dev \ + && rm -rf /var/lib/apt/lists/* \ + && ln -s /usr/bin/clang-14 /usr/bin/clang \ + && ln -s /usr/bin/clang++-14 /usr/bin/clang++ + +ARG OPENRCT2_REF=v0.4.11 +WORKDIR /openrct2 +RUN git -c http.sslVerify=false clone --depth 1 -b $OPENRCT2_REF https://github.com/OpenRCT2/OpenRCT2 . \ + && mkdir build \ + && cd build \ + && cmake .. -G Ninja -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=/openrct2-install/usr -DDISABLE_GUI=ON \ + && ninja -k0 install \ + && rm /openrct2-install/usr/lib/libopenrct2.a \ + # HACK due to issue in cmakelists, move content from cli + && mv /openrct2-install/usr/share/openrct2-cli/* /openrct2-install/usr/share/openrct2 \ + && rm -rf /openrct2-install/usr/share/openrct2-cli + +# Build runtime image +FROM ubuntu:22.04 +# Install OpenRCT2 +COPY --from=build-env /openrct2-install /openrct2-install +RUN apt-get update \ + && apt-get install --no-install-recommends -y rsync ca-certificates libpng16-16 libzip4 libcurl4 libfreetype6 libfontconfig1 libicu70 \ + && rm -rf /var/lib/apt/lists/* \ + && rsync -a /openrct2-install/* / \ + && rm -rf /openrct2-install \ + && openrct2-cli --version + +# Set up ordinary user +RUN useradd -m openrct2 +USER openrct2 +WORKDIR /home/openrct2 +EXPOSE 11753 + +# Test run and scan +RUN openrct2-cli --version \ + && openrct2-cli scan-objects + +# Done +ENTRYPOINT ["openrct2-cli"]