summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt4
-rw-r--r--Dockerfile/ubuntu-24.04.Dockerfile37
2 files changed, 39 insertions, 2 deletions
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