diff --git a/.ci_local_test/ros2_openvino_toolkit_test/Dockerfile b/.ci_local_test/ros2_openvino_toolkit_test/Dockerfile index 70b44162..57df6247 100644 --- a/.ci_local_test/ros2_openvino_toolkit_test/Dockerfile +++ b/.ci_local_test/ros2_openvino_toolkit_test/Dockerfile @@ -1,12 +1,19 @@ # ros2 openvino toolkit env master f1b1ca4d914186a1881b87f103be9c6e910c9d80 -ARG ROS_VERSION -FROM osrf/ros:${ROS_VERSION} +ARG ROS_PRE_INSTALLED_PKG +FROM osrf/ros:${ROS_PRE_INSTALLED_PKG} ARG VERSION +# setting proxy env --option +# If needed, enable the below ENV setting by correct proxies. +# ENV HTTP_PROXY="your_proxy" +# ENV HTTPS_PROXY="your_proxy" +# ENV FTP_PROXY="your_proxy" -LABEL maintainer="Jiawei Wu " +# author information +LABEL author="Jiawei Wu " +# default shell type SHELL ["/bin/bash", "-c"] # ignore the warning @@ -15,22 +22,19 @@ ARG APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 RUN apt-get update && apt-get install --assume-yes apt-utils # install openvino 2022.3 - # https://docs.openvino.ai/2022.3/openvino_docs_install_guides_installing_openvino_apt.html RUN apt update && apt install --assume-yes curl wget gnupg2 lsb-release RUN wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB && \ apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB && echo "deb https://apt.repos.intel.com/openvino/2022 focal main" | tee /etc/apt/sources.list.d/intel-openvino-2022.list RUN apt update && apt-cache search openvino && apt install -y openvino-2022.3.0 - # install librealsense2 RUN apt-get install -y --no-install-recommends \ software-properties-common # https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md # Make sure you set http-proxy in below commands if your environment needs. - -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || apt-key adv --keyserver-options --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE -#RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE +# RUN apt-key adv --keyserver-options http-proxy=your_proxy --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || apt-key adv --keyserver-options http-proxy=your_proxy --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE +RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE RUN add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -u \ && apt-get install -y --no-install-recommends \ librealsense2-dkms \ @@ -49,19 +53,16 @@ pyyaml \ requests \ && apt-get install -y --no-install-recommends libboost-all-dev WORKDIR /usr/lib/x86_64-linux-gnu -RUN ln -sf libboost_python-py36.so libboost_python37.so RUN pip install --upgrade pip -#RUN pip install openvino-dev[tensorflow2]==2022.3 +RUN pip install openvino-dev[tensorflow2]==2022.3 # build ros2 openvino toolkit WORKDIR /root RUN mkdir -p catkin_ws/src WORKDIR /root/catkin_ws/src -RUN git clone https://github.com/intel/ros2_object_msgs.git -##://github.com/intel/ros2_openvino_toolkit.git -RUN git clone -b ${VERSION} https://github.com/ros-perception/vision_opencv.git -RUN git clone -b ros2-development https://github.com/IntelRealSense/realsense-ros.git +RUN git init && git clone https://github.com/intel/ros2_object_msgs.git \ +&& git clone -b ros2 https://github.com/intel/ros2_openvino_toolkit.git RUN apt-get install ros-${VERSION}-diagnostic-updater WORKDIR /root/catkin_ws -COPY jpg /root/jpg -#RUN source /opt/ros/${VERSION}/setup.bash && source /opt/intel/openvino_2022/setupvars.sh && colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release +RUN source /opt/ros/${VERSION}/setup.bash && colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release + diff --git a/.ci_local_test/ros2_openvino_toolkit_test/docker_run.sh b/.ci_local_test/ros2_openvino_toolkit_test/docker_run.sh index 79fdf85f..956ded09 100755 --- a/.ci_local_test/ros2_openvino_toolkit_test/docker_run.sh +++ b/.ci_local_test/ros2_openvino_toolkit_test/docker_run.sh @@ -21,8 +21,13 @@ function run_container() { docker rm -f ros2_openvino_container fi # Using jenkins server ros2_openvino_toolkit code instead of git clone code. - cd $work_dir && sed -i 's/RUN git clone -b ros2 https/#/g' Dockerfile - cd $work_dir && docker build --build-arg ROS_VERSION=galactic-desktop --build-arg VERSION=galactic -t ros2_openvino_docker:01 . + cd $work_dir && sed -i '/ros2_openvino_toolkit.git/d' Dockerfile + # remove the "\" + cd $work_dir && sed -i 's#ros2_object_msgs.git \\#ros2_object_msgs.git#' Dockerfile + # add the jpg for test. + cd $work_dir && sed -i '$i COPY jpg /root/jpg' Dockerfile + + cd $work_dir && docker build --build-arg ROS_PRE_INSTALLED_PKG=galactic-desktop --build-arg VERSION=galactic -t ros2_openvino_docker:01 . docker run -i --privileged=true --device=/dev/dri -v $work_dir/ros2_openvino_toolkit:/root/catkin_ws/src/ros2_openvino_toolkit -v /tmp/.X11-unix:/tmp/.X11-unix -v $HOME/.Xauthority:/root/.Xauthority -e GDK_SCALE -v $work_dir/test_cases:/root/test_cases --name ros2_openvino_container ros2_openvino_docker:01 bash -c "cd /root/test_cases && ./run.sh galactic" } diff --git a/.ci_local_test/ros2_openvino_toolkit_test/test_cases/yolov5_model_download.sh b/.ci_local_test/ros2_openvino_toolkit_test/test_cases/yolov5_model_download.sh index 4ad26dc0..f3e50d3b 100755 --- a/.ci_local_test/ros2_openvino_toolkit_test/test_cases/yolov5_model_download.sh +++ b/.ci_local_test/ros2_openvino_toolkit_test/test_cases/yolov5_model_download.sh @@ -25,8 +25,8 @@ cd /root/yolov5/ python3 -m venv ov_env # Create openVINO virtual environment source ov_env/bin/activate # Activate environment python -m pip install --upgrade pip # Upgrade pip -pip install openvino[onnx]==2022.1.0 # Install OpenVINO for ONNX -pip install openvino-dev[onnx]==2022.1.0 # Install OpenVINO Dev Tool for ONNX +pip install openvino[onnx]==2022.3.0 # Install OpenVINO for ONNX +pip install openvino-dev[onnx]==2022.3.0 # Install OpenVINO Dev Tool for ONNX cd /root/yolov5/model_convert diff --git a/.github/workflows/ros2_branch.yml b/.github/workflows/basic_func_tests.yml similarity index 85% rename from .github/workflows/ros2_branch.yml rename to .github/workflows/basic_func_tests.yml index a2b1ceea..d94a5357 100644 --- a/.github/workflows/ros2_branch.yml +++ b/.github/workflows/basic_func_tests.yml @@ -1,14 +1,14 @@ # This is a basic workflow to help you get started with Actions -name: ros2_branch_CI +name: Basic_Func_CI # Controls when the workflow will run on: # Triggers the workflow on push or pull request events but only for the "master" branch push: - branches: [ "ros2" ] + branches: [ "master", "ros2" ] pull_request: - branches: [ "ros2" ] + branches: [ "master", "ros2" ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: @@ -31,5 +31,6 @@ jobs: pwd mkdir -p ../workspace_ci cp -r ${GITHUB_WORKSPACE}/.ci_local_test/ros2_openvino_toolkit_test ../workspace_ci + \cp ${GITHUB_WORKSPACE}/docker/Dockerfile ../workspace_ci/ros2_openvino_toolkit_test/Dockerfile cp -r ${GITHUB_WORKSPACE} ../workspace_ci/ros2_openvino_toolkit_test cd ../workspace_ci/ros2_openvino_toolkit_test && ./docker_run.sh diff --git a/docker/Dockerfile b/docker/Dockerfile index 57df6247..5a53d585 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -54,7 +54,6 @@ requests \ && apt-get install -y --no-install-recommends libboost-all-dev WORKDIR /usr/lib/x86_64-linux-gnu RUN pip install --upgrade pip -RUN pip install openvino-dev[tensorflow2]==2022.3 # build ros2 openvino toolkit WORKDIR /root