From d22bbc4ac36227f90a48f9bc92f3a9c4a4ed650e Mon Sep 17 00:00:00 2001 From: Dominic Reber Date: Mon, 10 Jun 2024 14:57:57 +0000 Subject: [PATCH 1/4] feat: update Dockerfile to ubuntu 24.04 --- .devcontainer/devcontainer.json | 2 +- Dockerfile | 19 ++++++------------- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 81793e293..39dbd3723 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,6 +1,6 @@ { "name": "control libraries", - "remoteUser": "developer", + "remoteUser": "ubuntu", "build": { "dockerfile": "../Dockerfile", "context": "..", diff --git a/Dockerfile b/Dockerfile index cdf29561a..086f28fa5 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 @@ -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 \ < Date: Mon, 10 Jun 2024 17:50:55 +0200 Subject: [PATCH 2/4] fix pip install --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 086f28fa5..a2ef9d1e7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -198,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 From de41bc9000478eab2f4351b8812b905eb0943be8 Mon Sep 17 00:00:00 2001 From: Dominic Reber Date: Mon, 10 Jun 2024 18:22:37 +0200 Subject: [PATCH 3/4] release: version 9.0.0 --- CHANGELOG.md | 6 ++++++ VERSION | 2 +- demos/CMakeLists.txt | 2 +- doxygen/doxygen.conf | 2 +- protocol/clproto_cpp/CMakeLists.txt | 2 +- python/setup.py | 2 +- source/CMakeLists.txt | 2 +- 7 files changed, 12 insertions(+), 6 deletions(-) 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/VERSION b/VERSION index 8104cabd3..f7ee06693 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.1.0 +9.0.0 diff --git a/demos/CMakeLists.txt b/demos/CMakeLists.txt index 12fb305e9..40d353fc8 100644 --- a/demos/CMakeLists.txt +++ b/demos/CMakeLists.txt @@ -15,7 +15,7 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_options(-Wall -Wextra -Wpedantic) endif() -find_package(control_libraries 8.1.0 CONFIG REQUIRED) +find_package(control_libraries 9.0.0 CONFIG REQUIRED) set(DEMOS_SCRIPTS task_space_control_loop diff --git a/doxygen/doxygen.conf b/doxygen/doxygen.conf index 1d8e4774c..50a6d50c9 100644 --- a/doxygen/doxygen.conf +++ b/doxygen/doxygen.conf @@ -38,7 +38,7 @@ PROJECT_NAME = "Control Libraries" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 8.1.0 +PROJECT_NUMBER = 9.0.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/protocol/clproto_cpp/CMakeLists.txt b/protocol/clproto_cpp/CMakeLists.txt index 27decb009..acddec963 100644 --- a/protocol/clproto_cpp/CMakeLists.txt +++ b/protocol/clproto_cpp/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.15) -project(clproto VERSION 8.1.0) +project(clproto VERSION 9.0.0) # Default to C99 if(NOT CMAKE_C_STANDARD) diff --git a/python/setup.py b/python/setup.py index bd6acdc9d..7278a39c8 100644 --- a/python/setup.py +++ b/python/setup.py @@ -11,7 +11,7 @@ # names of the environment variables that define osqp and openrobots include directories osqp_path_var = 'OSQP_INCLUDE_DIR' -__version__ = "8.1.0" +__version__ = "9.0.0" __libraries__ = ['state_representation', 'clproto', 'controllers', 'dynamical_systems', 'robot_model', 'communication_interfaces'] __include_dirs__ = ['include'] diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index baee09fe2..d94395f37 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.15) -project(control_libraries VERSION 8.1.0) +project(control_libraries VERSION 9.0.0) # Build options option(BUILD_TESTING "Build all tests." OFF) From d0bca8eaf205b38ace8bff0028521b909b00677a Mon Sep 17 00:00:00 2001 From: Dominic Reber <71256590+domire8@users.noreply.github.com> Date: Tue, 11 Jun 2024 14:08:54 +0200 Subject: [PATCH 4/4] build: use containerUser in devcontainer Co-authored-by: Enrico Eberhard <32450951+eeberhard@users.noreply.github.com> --- .devcontainer/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 39dbd3723..512230a95 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,6 +1,6 @@ { "name": "control libraries", - "remoteUser": "ubuntu", + "containerUser": "ubuntu", "build": { "dockerfile": "../Dockerfile", "context": "..",