Skip to content

Commit 3d82d1c

Browse files
committed
catkin/colcon run outside the venv
Otherwise subprocess will still use the venv interpreter
1 parent 07f5712 commit 3d82d1c

File tree

3 files changed

+20
-20
lines changed

3 files changed

+20
-20
lines changed

ci/build-package.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,24 +50,24 @@ fi
5050
if [[ "${ROS_VERSION}" == 1 ]]
5151
then
5252
echo -e "\e[35m\e[1mCompile the package (catkin build -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCATKIN_ENABLE_TESTING=OFF)\e[0m"
53-
docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}"/src/"${PACKAGE}" && /usr/bin/python3 "$(command -v catkin)" build --this --no-status -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCATKIN_ENABLE_TESTING=OFF'
53+
docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}"/src/"${PACKAGE}" && (deactivate &>/dev/null; /usr/bin/python3 "$(command -v catkin)" build --this --no-status -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCATKIN_ENABLE_TESTING=OFF)'
5454
else
5555
echo -e "\e[35m\e[1mCheck for default mixin repo (colcon mixin list)\e[0m"
56-
MIXIN_REPOS=$(docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}" && colcon mixin list | grep -v "^- "' | tr -d '\r' | awk -F ": " '{print $1}')
56+
MIXIN_REPOS=$(docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}" && (deactivate &>/dev/null; /usr/bin/python3 -m colcon mixin list) | grep -v "^- "' | tr -d '\r' | awk -F ": " '{print $1}')
5757
if ! echo -e "${MIXIN_REPOS}" | grep "^default$" -q
5858
then
5959
echo -e "\e[35m\e[1mAdd the default mixin repo (colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml)\e[0m"
60-
docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}" && colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml'
60+
docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}" && (deactivate &>/dev/null; /usr/bin/python3 -m colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml)'
6161
else
6262
echo -e "\e[35m\e[1mDefault mixin repo already exists\e[0m"
6363
fi
6464

6565
echo -e "\e[35m\e[1mUpdate colcon mixins (colcon mixin update)\e[0m"
66-
docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}" && colcon mixin update'
66+
docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}" && (deactivate &>/dev/null; /usr/bin/python3 -m colcon mixin update)'
6767

6868
echo -e "\e[35m\e[1mDeleting the merged install directory\e[0m"
6969
docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}" && rm -rf install'
7070

7171
echo -e "\e[35m\e[1mCompile the package (colcon build --mixin rel-with-deb-info build-testing-off)\e[0m"
72-
docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}" && colcon build --packages-up-to "${PACKAGE}" --mixin rel-with-deb-info build-testing-off --event-handlers desktop_notification- status- terminal_title-'
72+
docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}" && (deactivate &>/dev/null; /usr/bin/python3 -m colcon build --packages-up-to "${PACKAGE}" --mixin rel-with-deb-info build-testing-off --event-handlers desktop_notification- status- terminal_title-)'
7373
fi

ci/test-package.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,21 +50,21 @@ if [[ "${ROS_VERSION}" == 1 ]]
5050
then
5151
# Build test targets
5252
echo -e "\e[35m\e[1mBuild test targets of this package (catkin build --this --no-deps -DCATKIN_ENABLE_TESTING=ON)\e[0m"
53-
docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}"/src/"${PACKAGE}" && /usr/bin/python3 "$(command -v catkin)" build --this --no-status --no-deps -DCATKIN_ENABLE_TESTING=ON'
53+
docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}"/src/"${PACKAGE}" && (deactivate &>/dev/null; /usr/bin/python3 "$(command -v catkin)" build --this --no-status --no-deps -DCATKIN_ENABLE_TESTING=ON)'
5454

5555
# Run unit tests
5656
echo -e "\e[35m\e[1mRun tests on this package (catkin test --this --no-deps -DCATKIN_ENABLE_TESTING=ON)\e[0m"
57-
docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}"/src/"${PACKAGE}" && /usr/bin/python3 "$(command -v catkin)" test --this --no-status --no-deps -DCATKIN_ENABLE_TESTING=ON'
57+
docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}"/src/"${PACKAGE}" && (deactivate &>/dev/null; /usr/bin/python3 "$(command -v catkin)" test --this --no-status --no-deps -DCATKIN_ENABLE_TESTING=ON)'
5858
else
5959
# Build test targets
6060
echo -e "\e[35m\e[1mBuild test targets of this package (colcon build --packages-select ${PACKAGE} --mixin rel-with-deb-info build-testing-on)\e[0m"
61-
docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}" && colcon build --packages-select "${PACKAGE}" --mixin rel-with-deb-info build-testing-on --event-handlers desktop_notification- status- terminal_title-'
61+
docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}" && (deactivate &>/dev/null; /usr/bin/python3 -m colcon build --packages-select "${PACKAGE}" --mixin rel-with-deb-info build-testing-on --event-handlers desktop_notification- status- terminal_title-)'
6262

6363
# Run unit tests
6464
echo -e "\e[35m\e[1mRun tests on this package (colcon test --packages-select ${PACKAGE} --executor sequential)\e[0m"
65-
docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}" && colcon test --packages-select "${PACKAGE}" --executor sequential --event-handlers desktop_notification- status- terminal_title- console_cohesion+'
65+
docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}" && (deactivate &>/dev/null; /usr/bin/python3 -m colcon test --packages-select "${PACKAGE}" --executor sequential --event-handlers desktop_notification- status- terminal_title- console_cohesion+)'
6666

6767
# Check test results
6868
echo -e "\e[35m\e[1mCheck test results (colcon test-result --verbose)\e[0m"
69-
docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}" && colcon test-result --verbose'
69+
docker exec -t tue-env bash -c 'source ~/.bashrc; cd "${TUE_SYSTEM_DIR}" && (deactivate &>/dev/null; /usr/bin/python3 -m colcon test-result --verbose)'
7070
fi

setup/tue-functions.bash

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -439,12 +439,12 @@ function tue-make
439439
fi
440440
case $build_tool in
441441
'catkin build')
442-
/usr/bin/python3 "$(command -v catkin)" build --workspace "$TUE_SYSTEM_DIR" "$@"
442+
(deactivate &>/dev/null; /usr/bin/python3 "$(command -v catkin)" build --workspace "${TUE_SYSTEM_DIR}" "$@")
443443
return $?
444444
;;
445445
'')
446-
/usr/bin/python3 "$(command -v catkin)" config --init --mkdirs --workspace "$TUE_SYSTEM_DIR" --extend /opt/ros/"$TUE_ROS_DISTRO" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCATKIN_ENABLE_TESTING=OFF
447-
/usr/bin/python3 "$(command -v catkin)" build --workspace "$TUE_SYSTEM_DIR" "$@"
446+
(deactivate &>/dev/null; /usr/bin/python3 "$(command -v catkin)" config --init --mkdirs --workspace "${TUE_SYSTEM_DIR}" --extend /opt/ros/"${TUE_ROS_DISTRO}" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCATKIN_ENABLE_TESTING=OFF)
447+
(deactivate &>/dev/null; /usr/bin/python3 "$(command -v catkin)" build --workspace "${TUE_SYSTEM_DIR}" "$@")
448448
touch "$TUE_SYSTEM_DIR"/devel/.catkin # hack to allow overlaying to this ws while being empty
449449
;;
450450
*)
@@ -460,9 +460,9 @@ function tue-make
460460
if [ "${CI_INSTALL}" == "true" ]
461461
then
462462
rm -rf "${TUE_SYSTEM_DIR}"/install
463-
/usr/bin/python3 -m colcon --log-base "${TUE_SYSTEM_DIR}"/log build --base-paths "${TUE_SYSTEM_DIR}"/src --build-base "${TUE_SYSTEM_DIR}"/build --install-base "${TUE_SYSTEM_DIR}"/install "$@"
463+
(deactivate &>/dev/null; /usr/bin/python3 -m colcon --log-base "${TUE_SYSTEM_DIR}"/log build --base-paths "${TUE_SYSTEM_DIR}"/src --build-base "${TUE_SYSTEM_DIR}"/build --install-base "${TUE_SYSTEM_DIR}"/install "$@")
464464
else
465-
/usr/bin/python3 -m colcon --log-base "${TUE_SYSTEM_DIR}"/log build --merge-install --symlink-install --base-paths "${TUE_SYSTEM_DIR}"/src --build-base "${TUE_SYSTEM_DIR}"/build --install-base "${TUE_SYSTEM_DIR}"/install "$@"
465+
(deactivate &>/dev/null; /usr/bin/python3 -m colcon --log-level debug --log-base "${TUE_SYSTEM_DIR}"/log build --merge-install --symlink-install --base-paths "${TUE_SYSTEM_DIR}"/src --build-base "${TUE_SYSTEM_DIR}"/build --install-base "${TUE_SYSTEM_DIR}"/install "$@")
466466
fi
467467
return $?
468468
else
@@ -490,7 +490,7 @@ function tue-make-test
490490
fi
491491
case ${build_tool} in
492492
'catkin build')
493-
/usr/bin/python3 "$(command -v catkin)" test --workspace "${TUE_SYSTEM_DIR}" "$@"
493+
(deactivate &>/dev/null; /usr/bin/python3 "$(command -v catkin)" test --workspace "${TUE_SYSTEM_DIR}" "$@")
494494
return $?
495495
;;
496496
'')
@@ -519,9 +519,9 @@ function tue-make-test
519519
# Disable symlink install for production
520520
if [ "${CI_INSTALL}" == "true" ]
521521
then
522-
python3 -m colcon --log-base "${TUE_SYSTEM_DIR}"/log test --base-paths "${TUE_SYSTEM_DIR}"/src --build-base "${TUE_SYSTEM_DIR}"/build --install-base "${TUE_SYSTEM_DIR}"/install --executor sequential --event-handlers console_cohesion+ "$@"
522+
(deactivate &>/dev/null; /usr/bin/python3 -m colcon --log-base "${TUE_SYSTEM_DIR}"/log test --base-paths "${TUE_SYSTEM_DIR}"/src --build-base "${TUE_SYSTEM_DIR}"/build --install-base "${TUE_SYSTEM_DIR}"/install --executor sequential --event-handlers console_cohesion+ "$@")
523523
else
524-
python3 -m colcon --log-base "${TUE_SYSTEM_DIR}"/log test --merge-install --base-paths "${TUE_SYSTEM_DIR}"/src --build-base "${TUE_SYSTEM_DIR}"/build --install-base "${TUE_SYSTEM_DIR}"/install --executor sequential --event-handlers console_cohesion+ "$@"
524+
(deactivate &>/dev/null; /usr/bin/python3 -m colcon --log-base "${TUE_SYSTEM_DIR}"/log test --merge-install --base-paths "${TUE_SYSTEM_DIR}"/src --build-base "${TUE_SYSTEM_DIR}"/build --install-base "${TUE_SYSTEM_DIR}"/install --executor sequential --event-handlers console_cohesion+ "$@")
525525
fi
526526
return $?
527527
else
@@ -549,7 +549,7 @@ function tue-make-test-result
549549
fi
550550
case $build_tool in
551551
'catkin build')
552-
python3 "$(command -v catkin)" test_results "${TUE_SYSTEM_DIR}"/build "$@"
552+
(deactivate &>/dev/null; /usr/bin/python3 "$(command -v catkin)" test_results "${TUE_SYSTEM_DIR}"/build "$@")
553553
return $?
554554
;;
555555
'')
@@ -575,7 +575,7 @@ function tue-make-test-result
575575
return 1
576576
fi
577577

578-
python3 -m colcon --log-base "${TUE_SYSTEM_DIR}"/log test-result --test-result-base "${TUE_SYSTEM_DIR}"/build "$@"
578+
(deactivate &>/dev/null; /usr/bin/python3 -m colcon --log-base "${TUE_SYSTEM_DIR}"/log test-result --test-result-base "${TUE_SYSTEM_DIR}"/build "$@")
579579
return $?
580580
else
581581
echo -e "\e[31;1mError! ROS_VERSION '${TUE_ROS_VERSION}' is not supported by tue-env.\e[0m"

0 commit comments

Comments
 (0)