teeworlds_network/integration_test/Dockerfile

53 lines
2.1 KiB
Docker

FROM ubuntu:24.04
RUN apt-get update -y && apt-get install -y sudo
RUN sudo apt-get install -y ruby ruby-dev
RUN sudo apt-get install -y tcpdump tshark
RUN sudo apt-get install -y shellcheck teeworlds-server teeworlds teeworlds-data
RUN sudo apt install -y build-essential glslang-tools libavcodec-extra libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev libcurl4-openssl-dev libfreetype6-dev libglew-dev libnotify-dev libogg-dev libopus-dev libopusfile-dev libpng-dev libsdl2-dev libsqlite3-dev libssl-dev libvulkan-dev libwavpack-dev libx264-dev
RUN sudo apt-get install -y wget
RUN wget https://github.com/ChillerDragon/teeworlds/releases/download/v0.7.5-headless/teeworlds-0.7.5-linux_x86_64.tar.gz
RUN tar -xvzf teeworlds-0.7.5-linux_x86_64.tar.gz
RUN sudo mkdir -p /usr/local/bin/
RUN sudo mv teeworlds-0.7.5-linux_x86_64/teeworlds /usr/local/bin/teeworlds-headless
RUN rm -rf teeworlds-0.7.5-linux_x86_64*
RUN wget https://github.com/ChillerDragon/ddnet/releases/download/v16.5-headless/DDNet-headless.zip
RUN unzip DDNet-headless.zip
RUN sudo mv DDNet-headless /usr/local/bin
RUN rm DDNet-headless.zip
RUN wget https://github.com/ChillerDragon/ddnet/releases/download/v17.4.2-headless-0.7/DDNet7-headless-ubuntu24.zip
RUN unzip DDNet7-headless-ubuntu24.zip
RUN chmod +x DDNet7-headless
RUN sudo mv DDNet7-headless /usr/local/bin
RUN rm DDNet7-headless-ubuntu24.zip
RUN echo 'TODO: remove this ugly hack!'
RUN mkdir -p ~/.teeworlds/downloadedmaps
RUN cd ~/.teeworlds/downloadedmaps && wget https://heinrich5991.de/teeworlds/maps/maps/dm1_64548818.map
RUN gem install bundler
RUN gem install rubocop:1.31.2
USER 1000
WORKDIR /teeworlds_network
COPY . .
RUN bundle install --jobs 4 --retry 3
RUN echo '[CLIENT] Test sending chat messages'
RUN ./integration_test/run.sh client/chat.rb
RUN echo '[CLIENT] Test reconnect'
RUN ./integration_test/run.sh client/reconnect.rb
RUN echo '[CLIENT] Test rcon'
RUN ./integration_test/run.sh client/rcon.rb
RUN echo '[SERVER] Test connect'
RUN ./integration_test/run.sh server/connect.rb
RUN echo '[SERVER] Test chat'
RUN ./integration_test/run.sh server/chat.rb