From 4382c396e55ac94a692d5018ef3de0cb6083377d Mon Sep 17 00:00:00 2001 From: Loup-Garou911XD Date: Fri, 17 May 2024 05:53:50 +0530 Subject: [PATCH] work in progress on docker build --- src/assets/docker/Dockerfile => Dockerfile | 30 ++++++++++++++-------- Makefile | 4 ++- do_stuff | 7 +++++ tools/batools/build.py | 18 +++++++++---- 4 files changed, 42 insertions(+), 17 deletions(-) rename src/assets/docker/Dockerfile => Dockerfile (55%) create mode 100755 do_stuff diff --git a/src/assets/docker/Dockerfile b/Dockerfile similarity index 55% rename from src/assets/docker/Dockerfile rename to Dockerfile index 63723690..110f5496 100644 --- a/src/assets/docker/Dockerfile +++ b/Dockerfile @@ -1,32 +1,40 @@ FROM ubuntu:24.04 ENV LANG en_US.utf8 -ENV LANGUAGE=en_US -ARG BOMBSQUAD_VERSION=N/A -ARG SOURCE_DIR=. +ENV LANGUAGE=en_US RUN DEBIAN_FRONTEND=noninteractive \ apt-get update -y && \ apt-get install -y \ python3.12-dev \ + python3.12-venv \ libsdl2-dev \ libvorbisfile3 \ freeglut3-dev \ - libopenal-dev + libopenal-dev \ + make -# Clean up -RUN apt-get clean && \ - rm -rf /var/lib/apt/lists/* /tmp/* +ARG BOMBSQUAD_VERSION=N/A -WORKDIR ${SOURCE_DIR} +# WORKDIR /home/ubuntu/ -COPY ${SOURCE_DIR} ./ +COPY ./ ./ballistica -LABEL bombsquad_version=$BOMBSQUAD_VERSION +WORKDIR /ballistica -CMD [ "./ballisticakit_server" ] +LABEL bombsquad_version=${BOMBSQUAD_VERSION} + +CMD [ "./do_stuff" ] + +# ENTRYPOINT ["./do_stuff"] + +# CMD [ "make" ] # this does not port forward locally # its just a hint for user which port to forward EXPOSE 43210/udp + +# Clean up +# RUN apt-get clean && \ +# rm -rf /var/lib/apt/lists/* /tmp/* \ No newline at end of file diff --git a/Makefile b/Makefile index 1e072576..8ed1adf9 100644 --- a/Makefile +++ b/Makefile @@ -222,9 +222,11 @@ pcommandbatch_speed_test: env # Prebuilt binaries for various platforms. -docker-linux-x86-64-server-release-build: +docker-build: $(PCOMMAND) build_docker +docker-run: + docker run -i bsquad # WSL is Linux but running under Windows, so it can target either. By default # we want these top level targets (prefab-gui-debug, etc.) to yield native diff --git a/do_stuff b/do_stuff new file mode 100755 index 00000000..ffe0c130 --- /dev/null +++ b/do_stuff @@ -0,0 +1,7 @@ +#!/bin/bash +pwd +echo +ls +echo +rm tools/pcommand +make env diff --git a/tools/batools/build.py b/tools/batools/build.py index a8e6a70d..a17d273a 100644 --- a/tools/batools/build.py +++ b/tools/batools/build.py @@ -647,17 +647,25 @@ def cmake_prep_dir(dirname: str, verbose: bool = False) -> None: def _docker_build(image_name, dockerfile_dir, - bombsquad_version, - source_dir) -> None: + bombsquad_version = None, + project_root = None) -> None: build_cmd = ['docker','image','build', '-t',image_name, dockerfile_dir, - '--build-arg', f'BOMBSQUAD_VERSION={bombsquad_version}', - '--build-arg', f'SOURCE_DIR={source_dir}'] + ] + if bombsquad_version is not None: + build_cmd = build_cmd+['--build-arg', f'BOMBSQUAD_VERSION={bombsquad_version}'] + # if project_root is not None: + # print(project_root) + # build_cmd = build_cmd+['--build-arg', f'PROJ_ROOT={project_root}'] subprocess.run(build_cmd,check=True) # add option to toggle between prefab and cmake def docker_build() -> None: - _docker_build('bsquad','src/assets/docker/','1.7.69','build/prefab/full/linux_x86_64_server/release') \ No newline at end of file + _docker_build('bsquad', + '.', + '1.7.69', + os.getcwd(), + ) \ No newline at end of file