From 5e12ee328a4b34b69bfa72035a580d82e097d093 Mon Sep 17 00:00:00 2001 From: Loup-Garou911XD Date: Fri, 27 Sep 2024 18:09:27 +0530 Subject: [PATCH] cleanup --- config/docker/Dockerfile | 28 ++++----- config/docker/Dockerfile_arm64 | 104 --------------------------------- tools/batools/docker.py | 5 +- 3 files changed, 15 insertions(+), 122 deletions(-) delete mode 100644 config/docker/Dockerfile_arm64 diff --git a/config/docker/Dockerfile b/config/docker/Dockerfile index 5b7e26cf..c657a236 100644 --- a/config/docker/Dockerfile +++ b/config/docker/Dockerfile @@ -8,7 +8,7 @@ ARG base_image=ubuntu:latest #-------------------------------BUILDER-------------------------------- # Start with the base image -FROM ${base_image} AS builder +FROM --platform=$TARGETPLATFORM ${base_image} AS builder # Renew the args ARG headless_build @@ -24,19 +24,21 @@ ENV HEADLESS_BUILD=${headless_build} # Install build dependencies RUN apt-get update && \ - apt-get install -y \ - python3.12-dev \ - python3.12-venv \ - python3-pip \ - libsdl2-dev \ + apt-get install -y --no-install-recommends \ + build-essential \ + clang \ + clang-format \ + cmake \ + curl \ libglut-dev \ libopenal-dev \ + libsdl2-dev \ libvorbis-dev \ make \ - curl \ - rsync \ - clang-format \ - cmake + python3-pip \ + python3.12-dev \ + python3.12-venv \ + rsync # Copy source code COPY ./ /ballistica @@ -55,10 +57,9 @@ RUN mkdir /ballistica_cmake && \ fi && \ mv build/cmake/*/staged/* /ballistica_cmake - #-------------------------------RUNNER-------------------------------- # Create a new stage for the runtime environment -FROM ${base_image} +FROM --platform=$TARGETPLATFORM ${base_image} as runner # Environment settings ENV LANG=en_US.utf8 @@ -70,11 +71,10 @@ ENV DEBIAN_FRONTEND=noninteractive ARG headless_build ENV HEADLESS_BUILD=${headless_build} ARG cmake_build_type - LABEL BOMBSQUAD_BUILD_TYPE=${cmake_build_type} # Install runtime dependencies -RUN apt-get update -y && \ +RUN apt-get update && \ apt-get install -y \ python3.12-dev && \ if [ "$HEADLESS_BUILD" = "0" ]; then \ diff --git a/config/docker/Dockerfile_arm64 b/config/docker/Dockerfile_arm64 deleted file mode 100644 index 85b0d700..00000000 --- a/config/docker/Dockerfile_arm64 +++ /dev/null @@ -1,104 +0,0 @@ -# if provided it will make debug build -ARG cmake_build_type=Release -# whether to make GUI or headless build (defaults to headless) -ARG headless_build=1 -# system to start with the build with -# currently will break for other images -ARG base_image=ubuntu:latest - -#-------------------------------BUILDER-------------------------------- -# Start with the base image -FROM --platform=linux/arm64 ${base_image} AS builder - -# Renew the args -ARG headless_build -ARG cmake_build_type - -# Environment settings -ENV LANG=en_US.utf8 -ENV LANGUAGE=en_US -ENV LC_ALL=en_US.utf8 -ENV DEBIAN_FRONTEND=noninteractive -ENV CMAKE_BUILD_TYPE=${cmake_build_type} -ENV HEADLESS_BUILD=${headless_build} - -# Install build dependencies -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - python3.12-dev \ - python3.12-venv \ - python3-pip \ - libsdl2-dev \ - libglut-dev \ - libopenal-dev \ - make \ - curl \ - rsync \ - clang-format \ - clang \ - cmake \ - libvorbis-dev \ - build-essential - -# Copy source code -COPY ./ /ballistica - -# Set the working directory -WORKDIR /ballistica - -# Compile the application -RUN mkdir /ballistica_cmake && \ - if [ "$HEADLESS_BUILD" != "0" ]; then \ - make cmake-server-build && \ - mv build/cmake/*/ballisticakit_headless build/cmake/*/staged/dist; \ - else \ - make cmake-build && \ - mv build/cmake/*/ballisticakit build/cmake/*/staged/; \ - fi && \ - mv build/cmake/*/staged/* /ballistica_cmake - -#-------------------------------RUNNER-------------------------------- -# Create a new stage for the runtime environment using ARM64 base image -FROM --platform=linux/arm64 ${base_image} - -# Environment settings -ENV LANG=en_US.utf8 -ENV LANGUAGE=en_US -ENV LC_ALL=en_US.utf8 -ENV DEBIAN_FRONTEND=noninteractive - -# Renew the args -ARG headless_build -ENV HEADLESS_BUILD=${headless_build} -ARG cmake_build_type -LABEL BOMBSQUAD_BUILD_TYPE=${cmake_build_type} - -# Install runtime dependencies -RUN apt-get update -y && \ - apt-get install -y \ - python3.12-dev && \ - if [ "$HEADLESS_BUILD" = "0" ]; then \ - apt-get install -y \ - libsdl2-dev \ - libvorbis-dev \ - libglut-dev \ - pulseaudio-utils \ - libopenal-dev; \ - fi && \ - rm -rf /var/lib/apt/lists/* && \ - python3.12 -c "import uuid; print(uuid.uuid4())" > /etc/machine-id - -# Copy the compiled application from the builder stage -COPY --from=builder /ballistica_cmake \ - /home/ubuntu/ballistica - -# Set the working directory -WORKDIR /home/ubuntu/ballistica - -RUN ln -s ballisticakit* run - -# Expose the necessary port -EXPOSE 43210/udp - -# Set the default command to run the application -CMD [ "./run" ] diff --git a/tools/batools/docker.py b/tools/batools/docker.py index 68d6c5d6..6079fd0e 100644 --- a/tools/batools/docker.py +++ b/tools/batools/docker.py @@ -71,10 +71,7 @@ def docker_build( headless_build=headless_build, build_type=build_type ) - if platform is not None and 'arm64' in platform: - config_file = 'config/docker/Dockerfile_arm64' - else: - config_file = 'config/docker/Dockerfile' + config_file = 'config/docker/Dockerfile' print( f'Building docker image {image_name} '