control: Update tilt_sensor node for attitude topic #6440
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ################################################################################ | |
| # This workflow will install Python dependencies, run tests and lint with a | |
| # variety of Python versions. For more information see: | |
| # https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
| ################################################################################ | |
| name: OASIS Python | |
| # Controls when the action will run. Triggers the workflow on push or pull | |
| # request events | |
| on: [push, pull_request] | |
| # A workflow run is made up of one or more jobs that can run sequentially or in | |
| # parallel | |
| jobs: | |
| # This workflow contains a single job called "build" | |
| build: | |
| # The type of runner that the job will run on | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-24.04 | |
| ros2_distro: kilted | |
| # Steps represent a sequence of tasks that will be executed as part of the | |
| # job | |
| steps: | |
| - name: Build environment information | |
| run: 'echo "Matrix OS: ${{ matrix.os }} on $HOSTNAME with $(getconf _NPROCESSORS_ONLN) cores"' | |
| # Check-out the repository under $GITHUB_WORKSPACE, so the job can | |
| # access it | |
| - name: Checkout main repo | |
| uses: actions/checkout@v4 | |
| - name: Restore oasis_msgs | |
| id: restore-oasis-msgs | |
| uses: actions/cache@v4 | |
| with: | |
| path: ros-ws/oasis-${{ matrix.ros2_distro }}/install | |
| key: oasis-msgs-${{ runner.os }}-${{ matrix.ros2_distro }}-${{ hashFiles('oasis_msgs/msg/**', 'oasis_msgs/srv/**', 'oasis_msgs/CMakeLists.txt', 'oasis_msgs/package.xml') }} | |
| - name: Restore tox environment | |
| id: restore-tox | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| .tox | |
| key: tox-env-${{ hashFiles('tox.ini', 'requirements-tox.txt') }} | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Update pip | |
| run: python3 -m pip install --upgrade pip | |
| - name: Setup ROS 2 apt sources | |
| if: steps.restore-oasis-msgs.outputs.cache-hit != 'true' | |
| run: ./oasis_tooling/scripts/setup_ros2_desktop.sh | |
| - name: Install ROS message dependencies | |
| if: steps.restore-oasis-msgs.outputs.cache-hit != 'true' | |
| run: | | |
| sudo apt-get install -y \ | |
| cmake \ | |
| ros-${{ matrix.ros2_distro }}-ament-cmake \ | |
| ros-${{ matrix.ros2_distro }}-geometry-msgs \ | |
| ros-${{ matrix.ros2_distro }}-rosidl-default-generators \ | |
| ros-${{ matrix.ros2_distro }}-rosidl-default-runtime \ | |
| ros-${{ matrix.ros2_distro }}-sensor-msgs \ | |
| ros-${{ matrix.ros2_distro }}-std-msgs | |
| - name: Ensure ROS Python tooling is available | |
| if: steps.restore-oasis-msgs.outputs.cache-hit != 'true' | |
| run: | | |
| python3 -m pip install \ | |
| catkin_pkg \ | |
| empy \ | |
| lark \ | |
| numpy | |
| - name: Build oasis_msgs | |
| if: steps.restore-oasis-msgs.outputs.cache-hit != 'true' | |
| run: | | |
| source /opt/ros/${{ matrix.ros2_distro }}/setup.bash | |
| mkdir -p oasis_msgs/build | |
| cd oasis_msgs/build | |
| cmake .. -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/ros-ws/oasis-${{ matrix.ros2_distro }}/install | |
| # Build and install in parallel using the CMake driver | |
| cmake --build . --target install --parallel | |
| - name: Install tox | |
| run: | | |
| pip3 install tox | |
| # Run the tests! | |
| - name: Run tox | |
| run: | | |
| tox |