From d44a670b49e5e41cace9c2f78321a35e9cb3a7dc Mon Sep 17 00:00:00 2001 From: Ryo Nakamura Date: Thu, 11 Apr 2024 10:34:22 +0900 Subject: [PATCH] add test on ubuntu 24.04 --- CMakeLists.txt | 4 ++-- Dockerfile/ubuntu-24.04.Dockerfile | 37 ++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 Dockerfile/ubuntu-24.04.Dockerfile diff --git a/CMakeLists.txt b/CMakeLists.txt index cab0b52..7609376 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -165,8 +165,8 @@ enable_testing() # Custom targets to build and test mscp in docker containers. # foreach(IN ZIP_LISTS) (cmake >= 3.17) can shorten the following lists. # However, ubuntu 20.04 has cmake 3.16.3. So this is a roundabout trick. -list(APPEND DIST_IDS ubuntu ubuntu rocky rocky almalinux alpine) -list(APPEND DIST_VERS 20.04 22.04 8.9 9.3 9.3 3.19) +list(APPEND DIST_IDS ubuntu ubuntu ubuntu rocky rocky almalinux alpine) +list(APPEND DIST_VERS 20.04 22.04 24.04 8.9 9.3 9.3 3.19) list(LENGTH DIST_IDS _DIST_LISTLEN) math(EXPR DIST_LISTLEN "${_DIST_LISTLEN} - 1") diff --git a/Dockerfile/ubuntu-24.04.Dockerfile b/Dockerfile/ubuntu-24.04.Dockerfile new file mode 100644 index 0000000..419afb0 --- /dev/null +++ b/Dockerfile/ubuntu-24.04.Dockerfile @@ -0,0 +1,37 @@ +FROM ubuntu:24.04 + +ARG REQUIREDPKGS + +ARG DEBIAN_FRONTEND=noninteractive +RUN set -ex && apt-get update && apt-get install -y --no-install-recommends \ + ${REQUIREDPKGS} ca-certificates openssh-server \ + python3 python3-pip python3-dev python3-pytest + + +# preparation for sshd +RUN mkdir /var/run/sshd \ + && ssh-keygen -A \ + && ssh-keygen -f /root/.ssh/id_rsa -N "" \ + && cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys + +# create test user +RUN useradd -m -d /home/test test \ + && echo "test:userpassword" | chpasswd \ + && mkdir -p /home/test/.ssh \ + && ssh-keygen -f /home/test/.ssh/id_rsa_test -N "keypassphrase" \ + && cat /home/test/.ssh/id_rsa_test.pub >> /home/test/.ssh/authorized_keys \ + && chown -R test:test /home/test \ + && chown -R test:test /home/test/.ssh + + +ARG mscpdir="/mscp" + +COPY . ${mscpdir} + +# build +RUN cd ${mscpdir} \ + && rm -rf build \ + && cmake -B build \ + && cd ${mscpdir}/build \ + && make -j 2 \ + && make install