diff --git a/.github/workflows/config.yml b/.github/workflows/config.yml index d842f67..e0bcc1e 100644 --- a/.github/workflows/config.yml +++ b/.github/workflows/config.yml @@ -6,64 +6,114 @@ jobs: fail-fast: false matrix: include: - - OS: ubuntu-18.04 + - OS: ubuntu:18.04 ROS_DISTRO: melodic - - OS: ubuntu-20.04 + - OS: ubuntu:20.04 ROS_DISTRO: noetic - runs-on: ${{ matrix.OS }} + runs-on: ubuntu-latest + container: + image: ${{ matrix.OS }} + volumes: + - /tmp/node20:/__e/node20 steps: + - name: Try to replace `node` with an glibc 2.17 + shell: bash + run: | + ls -lar /__e/node20 && + apt update -y && apt install -y curl && + curl -Lo /tmp/node.tar.gz https://unofficial-builds.nodejs.org/download/release/v20.17.0/node-v20.17.0-linux-x64-glibc-217.tar.gz && + cd /__e/node20 && + tar -x --strip-components=1 -f /tmp/node.tar.gz && + ls -lar /__e/node20/bin/ - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Setup ROS run: | - sudo apt update -y - sudo apt install -y curl gnupg - sudo apt install -y xvfb - echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/ros-latest.list - curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - + apt update -y + apt install -y curl gnupg lsb-release + apt install -y xvfb + echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/ros-latest.list + curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add - # - sudo apt update -y - sudo apt install -y python-catkin-tools python-rosdep || sudo apt install -y python3-catkin-tools python3-rosdep - sudo apt install -y ros-${{ matrix.ROS_DISTRO }}-catkin - sudo rosdep init - rosdep update - rosdep install --from-path . --ignore-src --rosdistro ${{ matrix.ROS_DISTRO }} -r -y + apt update -y + apt install -y python-catkin-tools python-rosdep || apt install -y python3-catkin-tools python3-rosdep + apt install -y ros-${{ matrix.ROS_DISTRO }}-catkin + rosdep init + rosdep update --include-eol-distros + rosdep install --from-path $GITHUB_WORKSPACE --ignore-src --rosdistro ${{ matrix.ROS_DISTRO }} -r -y - name: Run catkin build + shell: bash run: | source /opt/ros/${{ matrix.ROS_DISTRO }}/setup.bash mkdir -p ~/ws/src/ cp -r $GITHUB_WORKSPACE ~/ws/src/ - cd ~/ws/; catkin build + cd ~/ws/; catkin build -vis --no-status - name: Run catkin run_test + shell: bash run: | source /opt/ros/${{ matrix.ROS_DISTRO }}/setup.bash cd ~/ws/; xvfb-run --auto-servernum catkin run_tests - name: Run catkin test results + shell: bash run: | source /opt/ros/${{ matrix.ROS_DISTRO }}/setup.bash cd ~/ws/; catkin_test_results --all build check_python2: runs-on: ubuntu-latest + container: + image: ubuntu:20.04 + volumes: + - /tmp/node20:/__e/node20 name: check_python2 steps: + - name: Try to replace `node` with an glibc 2.17 + shell: bash + run: | + ls -lar /__e/node20 && + apt update -y && apt install -y curl && + curl -Lo /tmp/node.tar.gz https://unofficial-builds.nodejs.org/download/release/v20.17.0/node-v20.17.0-linux-x64-glibc-217.tar.gz && + cd /__e/node20 && + tar -x --strip-components=1 -f /tmp/node.tar.gz && + ls -lar /__e/node20/bin/ + - name: Set up a Git safe directory + run: | + apt update -q && apt install -y -q git + git config --global --add safe.directory "${GITHUB_WORKSPACE}" - name: Chcekout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Check Python2 run: | - sudo apt update -q && sudo apt install -y -q python2 + apt update -q && apt install -y -q python2 python2 -m compileall . check_python3: runs-on: ubuntu-latest + container: + image: ubuntu:20.04 + volumes: + - /tmp/node20:/__e/node20 name: check_python3 steps: + - name: Try to replace `node` with an glibc 2.17 + shell: bash + run: | + ls -lar /__e/node20 && + apt update -y && apt install -y curl && + curl -Lo /tmp/node.tar.gz https://unofficial-builds.nodejs.org/download/release/v20.17.0/node-v20.17.0-linux-x64-glibc-217.tar.gz && + cd /__e/node20 && + tar -x --strip-components=1 -f /tmp/node.tar.gz && + ls -lar /__e/node20/bin/ + - name: Set up a Git safe directory + run: | + apt update -q && apt install -y -q git + git config --global --add safe.directory "${GITHUB_WORKSPACE}" - name: Chcekout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Check Python3 run: | - sudo apt update -q && sudo apt install -y -q python3 git 2to3 + apt update -q && apt install -y -q python3 git 2to3 bash -c "ret=0; trap 'ret=1' ERR; python3 -m compileall .; 2to3 -w -f except -f execfile -f has_key -f import -f raw_input -f zip .; git diff --exit-code . > /dev/null; echo Exitting with \$ret; exit \$ret" diff --git a/CMakeLists.txt b/CMakeLists.txt index 54a551c..b54826d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,7 +10,7 @@ install( ) install( - DIRECTORY resource + DIRECTORY resource rqt_perspectives DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} FILES_MATCHING PATTERN "*.ui" diff --git a/package.xml b/package.xml index 513e3f4..0df1bed 100644 --- a/package.xml +++ b/package.xml @@ -1,5 +1,5 @@ - + rqt_joint_trajectory_plot 0.0.5 @@ -14,22 +14,25 @@ catkin + g++-static rospy rqt_gui rqt_gui_py - roslint roslaunch - control_msgs - rospy - rqt_gui - rqt_gui_py - rqt_py_common - trajectory_msgs - moveit_msgs + control_msgs + rospy + rqt_gui + rqt_gui_py + rqt_py_common + trajectory_msgs + moveit_msgs + python-matplotlib + python3-matplotlib rostest + roslint rosservice diff --git a/rqt_perspectives/3x_joint_trajectory_plot.perspective b/rqt_perspectives/3x_joint_trajectory_plot.perspective index 182b0e4..23fb8bc 100644 --- a/rqt_perspectives/3x_joint_trajectory_plot.perspective +++ b/rqt_perspectives/3x_joint_trajectory_plot.perspective @@ -81,12 +81,12 @@ "keys": { "geometry": { "type": "repr(QByteArray.hex)", - "repr(QByteArray.hex)": "QtCore.QByteArray('01d9d0cb0002000000000064000000cb000006cf0000043700000064000000f0000006cf0000043700000002000000000a00')", + "repr(QByteArray.hex)": "QtCore.QByteArray(b'01d9d0cb0002000000000064000000cb000006cf0000043700000064000000f0000006cf0000043700000002000000000a00')", "pretty-print": " d 7 d 7 " }, "state": { "type": "repr(QByteArray.hex)", - "repr(QByteArray.hex)": "QtCore.QByteArray('000000ff00000000fd00000001000000030000066c0000031cfc0100000001fc000000000000066c0000010c00fffffffc0200000003fb0000007c007200710074005f006a006f0069006e0074005f007400720061006a006500630074006f00720079005f0070006c006f0074005f005f004a006f0069006e0074005400720061006a006500630074006f007200790050006c006f0074005f005f0031005f005f006d00610069006e005f00770069006400670065007401000000160000010e0000008c00fffffffb0000007c007200710074005f006a006f0069006e0074005f007400720061006a006500630074006f00720079005f0070006c006f0074005f005f004a006f0069006e0074005400720061006a006500630074006f007200790050006c006f0074005f005f0032005f005f006d00610069006e005f007700690064006700650074010000012a0000014d0000008c00fffffffb0000007c007200710074005f006a006f0069006e0074005f007400720061006a006500630074006f00720079005f0070006c006f0074005f005f004a006f0069006e0074005400720061006a006500630074006f007200790050006c006f0074005f005f0033005f005f006d00610069006e005f007700690064006700650074010000027d000000b50000008c00ffffff0000066c0000000000000004000000040000000800000008fc00000001000000030000000100000036004d0069006e0069006d0069007a006500640044006f0063006b00570069006400670065007400730054006f006f006c0062006100720000000000ffffffff0000000000000000')", + "repr(QByteArray.hex)": "QtCore.QByteArray(b'000000ff00000000fd00000001000000030000066c0000031cfc0100000001fc000000000000066c0000010c00fffffffc0200000003fb0000007c007200710074005f006a006f0069006e0074005f007400720061006a006500630074006f00720079005f0070006c006f0074005f005f004a006f0069006e0074005400720061006a006500630074006f007200790050006c006f0074005f005f0031005f005f006d00610069006e005f00770069006400670065007401000000160000010e0000008c00fffffffb0000007c007200710074005f006a006f0069006e0074005f007400720061006a006500630074006f00720079005f0070006c006f0074005f005f004a006f0069006e0074005400720061006a006500630074006f007200790050006c006f0074005f005f0032005f005f006d00610069006e005f007700690064006700650074010000012a0000014d0000008c00fffffffb0000007c007200710074005f006a006f0069006e0074005f007400720061006a006500630074006f00720079005f0070006c006f0074005f005f004a006f0069006e0074005400720061006a006500630074006f007200790050006c006f0074005f005f0033005f005f006d00610069006e005f007700690064006700650074010000027d000000b50000008c00ffffff0000066c0000000000000004000000040000000800000008fc00000001000000030000000100000036004d0069006e0069006d0069007a006500640044006f0063006b00570069006400670065007400730054006f006f006c0062006100720000000000ffffffff0000000000000000')", "pretty-print": " l * M } l " } },