diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e0130524..263a7539 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,7 +24,7 @@ jobs: path: src/micro_ros_setup ref: ${{ inputs.ci_target_ref }} - - uses: ros-tooling/setup-ros@0.7.7 + - uses: ros-tooling/setup-ros@0.7.9 with: use-ros2-testing: false required-ros-distributions: ${{ env.ROS_DISTRO }} @@ -63,7 +63,7 @@ jobs: path: src/micro_ros_setup ref: ${{ inputs.ci_target_ref }} - - uses: ros-tooling/setup-ros@0.7.7 + - uses: ros-tooling/setup-ros@0.7.9 with: use-ros2-testing: false required-ros-distributions: ${{ env.ROS_DISTRO }} @@ -205,7 +205,7 @@ jobs: path: src/micro_ros_setup ref: ${{ inputs.ci_target_ref }} - - uses: ros-tooling/setup-ros@0.7.7 + - uses: ros-tooling/setup-ros@0.7.9 with: use-ros2-testing: false required-ros-distributions: ${{ env.ROS_DISTRO }} diff --git a/config/freertos/esp32/build.sh b/config/freertos/esp32/build.sh index bf6e0b1f..3325c457 100755 --- a/config/freertos/esp32/build.sh +++ b/config/freertos/esp32/build.sh @@ -1,5 +1,8 @@ EXTENSIONS_DIR=$FW_TARGETDIR/freertos_apps/microros_esp32_extensions +# Source virtualenv +source $FW_TARGETDIR/venv/bin/activate + . $PREFIX/config/utils.sh export IDF_TOOLS_PATH=$FW_TARGETDIR/toolchain/espressif diff --git a/config/freertos/esp32/create.sh b/config/freertos/esp32/create.sh index 19c420c6..00796724 100755 --- a/config/freertos/esp32/create.sh +++ b/config/freertos/esp32/create.sh @@ -1,4 +1,13 @@ pushd $FW_TARGETDIR >/dev/null + # Create a virtual environment + python3 -m venv $FW_TARGETDIR/venv + source $FW_TARGETDIR/venv/bin/activate + + # Install deps + pip3 install catkin_pkg empy lark-parser colcon-common-extensions + + pip3 install virtualenv + # Install toolchain mkdir toolchain @@ -19,14 +28,13 @@ pushd $FW_TARGETDIR >/dev/null echo "Error: python3-pip package must be installed before continuing..." exit 1 fi - pip3 install virtualenv --break-system-packages python3 esp-idf/tools/idf_tools.py install-python-env eval $(python3 $FW_TARGETDIR/toolchain/esp-idf/tools/idf_tools.py export --prefer-system) . $IDF_PATH/export.sh - pip3 install catkin_pkg lark-parser colcon-common-extensions --break-system-packages + pip3 install catkin_pkg lark-parser colcon-common-extensions popd >/dev/null diff --git a/config/freertos/esp32/flash.sh b/config/freertos/esp32/flash.sh index 3322c221..64c05585 100755 --- a/config/freertos/esp32/flash.sh +++ b/config/freertos/esp32/flash.sh @@ -3,6 +3,9 @@ EXTENSIONS_DIR=$FW_TARGETDIR/freertos_apps/microros_esp32_extensions export IDF_TOOLS_PATH=$FW_TARGETDIR/toolchain/espressif export IDF_PATH=$FW_TARGETDIR/toolchain/esp-idf +# Source virtualenv +source $FW_TARGETDIR/venv/bin/activate + eval $(python3 $FW_TARGETDIR/toolchain/esp-idf/tools/idf_tools.py export --prefer-system) . $IDF_PATH/export.sh diff --git a/config/zephyr/generic/build.sh b/config/zephyr/generic/build.sh index dcda6ab9..41bc9d12 100755 --- a/config/zephyr/generic/build.sh +++ b/config/zephyr/generic/build.sh @@ -1,6 +1,8 @@ . $PREFIX/config/utils.sh pushd $FW_TARGETDIR >/dev/null + source $FW_TARGETDIR/venv/bin/activate + source $FW_TARGETDIR/zephyrproject/zephyr/zephyr-env.sh export ZEPHYR_TOOLCHAIN_VARIANT=zephyr diff --git a/config/zephyr/generic/create.sh b/config/zephyr/generic/create.sh index d7671035..a468d927 100755 --- a/config/zephyr/generic/create.sh +++ b/config/zephyr/generic/create.sh @@ -18,8 +18,15 @@ export PATH=~/.local/bin:"$PATH" export ZEPHYR_VERSION="v0.12.4" export ARCH=$(uname -m) +# Create a virtual environment +python3 -m venv $FW_TARGETDIR/venv +source $FW_TARGETDIR/venv/bin/activate + # Install west -pip3 install --user -U west --break-system-packages +pip3 install west + +# Install requirements +pip3 install catkin_pkg empy pushd $FW_TARGETDIR >/dev/null @@ -31,7 +38,7 @@ pushd $FW_TARGETDIR >/dev/null west update popd >/dev/null - pip3 install -r zephyrproject/zephyr/scripts/requirements.txt --ignore-installed --break-system-packages + pip3 install -r zephyrproject/zephyr/scripts/requirements.txt --ignore-installed if [ "$PLATFORM" = "host" ]; then if [ "$ARCH" = "aarch64" ]; then @@ -72,6 +79,6 @@ pushd $FW_TARGETDIR >/dev/null touch mcu_ws/ros2/ros2_tracing/lttngpy/COLCON_IGNORE # Upgrade sphinx - pip install --force-reinstall Sphinx==4.2.0 --break-system-packages + pip install --force-reinstall Sphinx==4.2.0 popd >/dev/null diff --git a/config/zephyr/generic/flash.sh b/config/zephyr/generic/flash.sh index 13fb4bef..136ce1fa 100755 --- a/config/zephyr/generic/flash.sh +++ b/config/zephyr/generic/flash.sh @@ -1,5 +1,7 @@ pushd $FW_TARGETDIR > /dev/null +source $FW_TARGETDIR/venv/bin/activate + ZEPHYR_BUILD_DIR="$FW_TARGETDIR/build/zephyr" # Host platform (=native_posix) is special, as flashing is actually just executing the binary diff --git a/config/zephyr/generic/package.xml b/config/zephyr/generic/package.xml index fa5c301c..54bdb2e3 100644 --- a/config/zephyr/generic/package.xml +++ b/config/zephyr/generic/package.xml @@ -15,5 +15,6 @@ gcc-multilib g++-multilib openocd + python3-venv