Skip to content

.github/workflows/benchmark.yaml #81

.github/workflows/benchmark.yaml

.github/workflows/benchmark.yaml #81

Workflow file for this run

on:
schedule:
- cron: "0 0 * * *"
push:
branches:
- main
jobs:
benchmark:
runs-on: ubuntu-latest
strategy:
matrix:
distro:
- humble
steps:
- uses: actions/checkout@v2
with:
path: src/measure_rclpy_timing
- run: find
- uses: ros-tooling/setup-ros@v0.6
with:
required-ros-distributions: ${{ matrix.distro }}
- name: Install dependencies
run: sudo apt-get install -y python3-pip
- name: Install pip dependencies
run: pip3 install -r src/measure_rclpy_timing/requirements.txt
- name: Build
run: "source /opt/ros/${{ matrix.distro }}/setup.bash && colcon build"
- name: Run benchmark
run: "source /opt/ros/${{ matrix.distro }}/setup.bash && source install/local_setup.bash && ros2 run rclpy_listeners measure"
- name: Display data table in summary
run: ./src/measure_rclpy_timing/rclpy_listeners/scripts/data_as_md.py >> $GITHUB_STEP_SUMMARY
# - name: Display plots in summary
# run: ./src/measure_rclpy_timing/rclpy_listeners/scripts/b64_encoder.py >> $GITHUB_STEP_SUMMARY
- name: Upload results
uses: actions/upload-artifact@v2
with:
name: results
path: |
data.csv
*.png