diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 81793e293..512230a95 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,6 +1,6 @@ { "name": "control libraries", - "remoteUser": "developer", + "containerUser": "ubuntu", "build": { "dockerfile": "../Dockerfile", "context": "..", diff --git a/CHANGELOG.md b/CHANGELOG.md index e14b74a40..b5a7a4da6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ Release Versions +- [9.0.0](#900) - [8.1.0](#810) - [8.0.0](#800) - [7.4.0](#740) @@ -14,6 +15,11 @@ Release Versions - [6.3.0](#630) - [6.2.0](#620) +## 9.0.0 + +Version 9.0.0 is a new major version of control libraries that is built on Ubuntu 24.04 with Python 3.12. It does not +contain any new features or fixes compared to version 8.1.0. + ## 8.1.0 Version 8.1.0 adds a new module called `communication_interfaces` to the control libraries. This is a library for diff --git a/Dockerfile b/Dockerfile index cdf29561a..a2ef9d1e7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_TAG=22.04 +ARG BASE_TAG=24.04 FROM ubuntu:${BASE_TAG} as base ENV DEBIAN_FRONTEND=noninteractive @@ -16,7 +16,7 @@ RUN apt-get update && apt-get install -y \ RUN echo "Set disable_coredump false" >> /etc/sudo.conf # create the credentials to be able to pull private repos using ssh -RUN mkdir /root/.ssh/ && ssh-keyscan github.com | tee -a /root/.ssh/known_hosts +RUN mkdir -p /root/.ssh/ && ssh-keyscan github.com | tee -a /root/.ssh/known_hosts ARG CMAKE_BUILD_TYPE=Release @@ -139,16 +139,9 @@ COPY --from=apt-dependencies /tmp/apt / COPY --from=dependencies /tmp/deps /usr FROM code as development -# create and configure a new user -ARG UID=1000 -ARG GID=1000 -ENV USER developer -ENV HOME /home/${USER} - -RUN addgroup --gid ${GID} ${USER} -RUN adduser --gecos "Remote User" --uid ${UID} --gid ${GID} ${USER} && yes | passwd ${USER} -RUN usermod -a -G dialout ${USER} -RUN echo "${USER} ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/99_aptget + +RUN usermod -a -G dialout ubuntu +RUN echo "ubuntu ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/99_aptget RUN chmod 0440 /etc/sudoers.d/99_aptget && chown root:root /etc/sudoers.d/99_aptget # Configure sshd server settings @@ -205,7 +198,7 @@ RUN --mount=type=cache,target=/.cache,id=pip-${TARGETPLATFORM}-${CACHEID},uid=10 RUN mv /tmp/python/local /tmp/python-usr FROM cpp-test as python-test -RUN pip install pytest +RUN pip install pytest --break-system-packages COPY --from=install /tmp/cl /usr COPY --from=python /tmp/python-usr /usr COPY ./python/test /test @@ -216,7 +209,7 @@ ARG TARGETPLATFORM ARG CACHEID COPY --from=install /tmp/cl /usr COPY --from=python /tmp/python-usr /usr -RUN pip install pybind11-stubgen +RUN pip install pybind11-stubgen --break-system-packages RUN --mount=type=cache,target=/.cache,id=pip-${TARGETPLATFORM}-${CACHEID},uid=1000 \ <