feature/random-functions #1611
This file contains 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
--- | |
name: test-build | |
on: | |
pull_request: | |
branches: [main, humble, jazzy] | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
permissions: read-all | |
jobs: | |
build: | |
#TODO model dependency to image-workflow. Workaround: retrigger run after image-workflow finished. | |
runs-on: intellabs-01 | |
container: | |
image: ghcr.io/intellabs/scenario-execution:${{ github.event.pull_request.base.ref }} | |
credentials: | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1 | |
with: | |
submodules: true | |
- name: Build | |
shell: bash | |
run: | | |
source /opt/ros/${{ github.event.pull_request.base.ref == 'main' && 'humble' || github.event.pull_request.base.ref }}/setup.bash | |
colcon build --continue-on-error | |
source install/setup.bash | |
- name: Cache Build | |
id: cache-test-id | |
uses: actions/cache/save@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | |
with: | |
path: . | |
key: ${{ runner.os }}-build-${{ github.run_number }} | |
test-scenario-execution: | |
needs: [build] | |
runs-on: intellabs-01 | |
container: | |
image: ghcr.io/intellabs/scenario-execution:${{ github.event.pull_request.base.ref }} | |
credentials: | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Restore cache | |
uses: actions/cache/restore@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | |
with: | |
key: ${{ runner.os }}-build-${{ github.run_number }} | |
path: . | |
- name: Test | |
shell: bash | |
run: | | |
source /opt/ros/${{ github.event.pull_request.base.ref == 'main' && 'humble' || github.event.pull_request.base.ref }}/setup.bash | |
source install/setup.bash | |
export -n CYCLONEDDS_URI | |
export ROS_DOMAIN_ID=2 | |
colcon test --packages-select \ | |
scenario_execution \ | |
scenario_execution_os \ | |
scenario_execution_coverage \ | |
scenario_execution_test \ | |
--event-handlers console_direct+ \ | |
--return-code-on-test-failure \ | |
--pytest-args \ | |
--junit-xml=TEST.xml | |
# Add "--capture=no" to see output of tests | |
- name: Upload result | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
if: always() | |
with: | |
name: test-scenario-execution | |
path: ./**/TEST.xml | |
test-scenario-execution-ros: | |
needs: [build] | |
runs-on: intellabs-01 | |
container: | |
image: ghcr.io/intellabs/scenario-execution:${{ github.event.pull_request.base.ref }} | |
credentials: | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Restore cache | |
uses: actions/cache/restore@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | |
with: | |
key: ${{ runner.os }}-build-${{ github.run_number }} | |
path: . | |
- name: Test | |
shell: bash | |
run: | | |
source /opt/ros/${{ github.event.pull_request.base.ref == 'main' && 'humble' || github.event.pull_request.base.ref }}/setup.bash | |
source install/setup.bash | |
export -n CYCLONEDDS_URI | |
export ROS_DOMAIN_ID=2 | |
colcon test --packages-select \ | |
scenario_execution_ros \ | |
scenario_execution_ros_test \ | |
--event-handlers console_direct+ \ | |
--return-code-on-test-failure \ | |
--pytest-args \ | |
--junit-xml=TEST.xml | |
# Add "--capture=no" to see output of tests | |
- name: Upload result | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
if: always() | |
with: | |
name: test-scenario-execution-ros | |
path: ./**/TEST.xml | |
scenario-files-validation: | |
needs: [build] | |
runs-on: intellabs-01 | |
container: | |
image: ghcr.io/intellabs/scenario-execution:${{ github.event.pull_request.base.ref }} | |
credentials: | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Restore cache | |
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | |
with: | |
key: ${{ runner.os }}-build-${{ github.run_number }} | |
path: . | |
- name: Test Scenario Files | |
shell: bash | |
run: | | |
source /opt/ros/${{ github.event.pull_request.base.ref == 'main' && 'humble' || github.event.pull_request.base.ref }}/setup.bash | |
source install/setup.bash | |
find . -name "*.osc" | grep -Ev "lib_osc/*|examples/example_scenario_variation|scenario_execution_coverage|fail*|install|build" | while read -r file; do | |
echo "$file"; | |
ros2 run scenario_execution scenario_execution "$file" -n; | |
done | |
test-example-scenario: | |
needs: [build] | |
runs-on: intellabs-01 | |
container: | |
image: ghcr.io/intellabs/scenario-execution:${{ github.event.pull_request.base.ref }} | |
credentials: | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Restore cache | |
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | |
with: | |
key: ${{ runner.os }}-build-${{ github.run_number }} | |
path: . | |
- name: Test Example Scenario | |
shell: bash | |
run: | | |
source /opt/ros/${{ github.event.pull_request.base.ref == 'main' && 'humble' || github.event.pull_request.base.ref }}/setup.bash | |
source install/setup.bash | |
#shellcheck disable=SC1083 | |
scenario_batch_execution -i examples/example_scenario/ -o test_example_scenario -- ros2 launch scenario_execution_ros scenario_launch.py scenario:={SCENARIO} output_dir:={OUTPUT_DIR} | |
- name: Upload result | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
if: always() | |
with: | |
name: test-example-scenario-result | |
path: test_example_scenario/test.xml | |
test-example-library: | |
needs: [build] | |
runs-on: intellabs-01 | |
container: | |
image: ghcr.io/intellabs/scenario-execution:${{ github.event.pull_request.base.ref }} | |
credentials: | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Restore cache | |
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | |
with: | |
key: ${{ runner.os }}-build-${{ github.run_number }} | |
path: . | |
- name: Test Example Library | |
shell: bash | |
run: | | |
source /opt/ros/${{ github.event.pull_request.base.ref == 'main' && 'humble' || github.event.pull_request.base.ref }}/setup.bash | |
source install/setup.bash | |
# shellcheck disable=SC1083 | |
scenario_batch_execution -i examples/example_library/scenarios -o test_example_library -- ros2 launch scenario_execution_ros scenario_launch.py scenario:={SCENARIO} output_dir:={OUTPUT_DIR} | |
- name: Upload result | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
if: always() | |
with: | |
name: test-example-library-result | |
path: test_example_library/test.xml | |
test-example-variation: | |
needs: [build] | |
runs-on: intellabs-01 | |
container: | |
image: ghcr.io/intellabs/scenario-execution:${{ github.event.pull_request.base.ref }} | |
credentials: | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Restore cache | |
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | |
with: | |
key: ${{ runner.os }}-build-${{ github.run_number }} | |
path: . | |
- name: Test Example Variation | |
shell: bash | |
run: | | |
source /opt/ros/${{ github.event.pull_request.base.ref == 'main' && 'humble' || github.event.pull_request.base.ref }}/setup.bash | |
source install/setup.bash | |
scenario_variation -o scenario_variation_out examples/example_scenario_variation/example_scenario_variation.osc | |
# shellcheck disable=SC1083 | |
scenario_batch_execution -i scenario_variation_out -o test_example_variation -- ros2 launch scenario_execution_ros scenario_launch.py scenario:={SCENARIO} output_dir:={OUTPUT_DIR} | |
- name: Upload result | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
if: always() | |
with: | |
name: test-example-variation-result | |
path: test_example_variation/test.xml | |
test-example-nav2: | |
needs: [build] | |
runs-on: intellabs-01 | |
container: | |
image: ghcr.io/intellabs/scenario-execution:${{ github.event.pull_request.base.ref }} | |
credentials: | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Restore cache | |
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | |
with: | |
key: ${{ runner.os }}-build-${{ github.run_number }} | |
path: . | |
- name: Test Example Nav2 | |
shell: bash | |
run: | | |
source /opt/ros/${{ github.event.pull_request.base.ref == 'main' && 'humble' || github.event.pull_request.base.ref }}/setup.bash | |
source install/setup.bash | |
Xvfb :1 -screen 0 800x600x16 & | |
export DISPLAY=:1.0 | |
export -n CYCLONEDDS_URI | |
export ROS_DOMAIN_ID=2 | |
export IGN_PARTITION=${HOSTNAME}:${GITHUB_RUN_ID} | |
sed -i 's/60s/600s/g' examples/example_nav2/example_nav2.osc | |
# shellcheck disable=SC1083 | |
scenario_batch_execution -i examples/example_nav2/ -o test_example_nav2 -- ros2 launch tb4_sim_scenario sim_nav_scenario_launch.py scenario:={SCENARIO} output_dir:={OUTPUT_DIR} headless:=true | |
- name: Upload result | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
if: always() | |
with: | |
name: test-example-nav2-result | |
path: test_example_nav2/test.xml | |
test-example-simulation: | |
needs: [build] | |
runs-on: intellabs-01 | |
container: | |
image: ghcr.io/intellabs/scenario-execution:${{ github.event.pull_request.base.ref }} | |
credentials: | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Restore cache | |
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | |
with: | |
key: ${{ runner.os }}-build-${{ github.run_number }} | |
path: . | |
- name: Test Example Simulation | |
shell: bash | |
run: | | |
source /opt/ros/${{ github.event.pull_request.base.ref == 'main' && 'humble' || github.event.pull_request.base.ref }}/setup.bash | |
source install/setup.bash | |
Xvfb :1 -screen 0 800x600x16 & | |
export DISPLAY=:1.0 | |
export -n CYCLONEDDS_URI | |
export ROS_DOMAIN_ID=2 | |
export IGN_PARTITION=${HOSTNAME}:${GITHUB_RUN_ID} | |
sed -i 's/120s/600s/g' examples/example_simulation/scenarios/example_simulation.osc | |
# shellcheck disable=SC1083 | |
scenario_batch_execution -i examples/example_simulation/scenarios/ -o test_example_simulation -- ros2 launch tb4_sim_scenario sim_nav_scenario_launch.py scenario:={SCENARIO} output_dir:={OUTPUT_DIR} headless:=true | |
- name: Upload result | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
if: always() | |
with: | |
name: test-example-simulation-result | |
path: test_example_simulation/test.xml | |
test-example-multirobot: | |
needs: [build] | |
runs-on: intellabs-01 | |
container: | |
image: ghcr.io/intellabs/scenario-execution:${{ github.event.pull_request.base.ref }} | |
credentials: | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Restore cache | |
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | |
with: | |
key: ${{ runner.os }}-build-${{ github.run_number }} | |
path: . | |
- name: Test Example Multirobot | |
shell: bash | |
run: | | |
source /opt/ros/${{ github.event.pull_request.base.ref == 'main' && 'humble' || github.event.pull_request.base.ref }}/setup.bash | |
source install/setup.bash | |
Xvfb :1 -screen 0 800x600x16 & | |
export DISPLAY=:1.0 | |
export -n CYCLONEDDS_URI | |
export ROS_DOMAIN_ID=2 | |
export IGN_PARTITION=${HOSTNAME}:${GITHUB_RUN_ID} | |
sed -i 's/240s/900s/g' examples/example_multi_robot/scenarios/example_multi_robot.osc | |
# shellcheck disable=SC1083 | |
scenario_batch_execution -i examples/example_multi_robot/scenarios/ -o test_example_multirobot -- ros2 launch tb4_sim_scenario sim_nav_scenario_launch.py scenario:={SCENARIO} output_dir:={OUTPUT_DIR} headless:=true | |
- name: Upload result | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
if: always() | |
with: | |
name: test-example-multirobot-result | |
path: test_example_multirobot/test.xml | |
- name: Convert video | |
if: always() | |
shell: bash | |
run: | | |
source /opt/ros/${{ github.event.pull_request.base.ref == 'main' && 'humble' || github.event.pull_request.base.ref }}/setup.bash | |
source /rosbag2_to_video/install/setup.bash | |
ros2 bag to_video -t /static_camera/image_raw -o test_example_multirobot/example_multi_robot/example-multi-robot.mp4 test_example_multirobot/example_multi_robot/rosbag2_* --fps 5 --codec mp4v | |
- name: Upload video | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
if: always() | |
with: | |
name: test-example-multirobot-video | |
path: test_example_multirobot/example_multi_robot/example-multi-robot.mp4 | |
- name: Upload ros bag | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
if: always() | |
with: | |
name: test-example-multirobot-ros-bag | |
path: test_example_multirobot/**/rosbag* | |
test-example-external-method: | |
needs: [build] | |
runs-on: intellabs-01 | |
container: | |
image: ghcr.io/intellabs/scenario-execution:${{ github.event.pull_request.base.ref }} | |
credentials: | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Restore cache | |
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | |
with: | |
key: ${{ runner.os }}-build-${{ github.run_number }} | |
path: . | |
- name: Test Example External Method | |
shell: bash | |
run: | | |
source /opt/ros/${{ github.event.pull_request.base.ref == 'main' && 'humble' || github.event.pull_request.base.ref }}/setup.bash | |
source install/setup.bash | |
export -n CYCLONEDDS_URI | |
export ROS_DOMAIN_ID=2 | |
# shellcheck disable=SC1083 | |
scenario_batch_execution -i examples/example_external_method/scenarios -o test_example_external_method -- ros2 launch scenario_execution_ros scenario_launch.py scenario:={SCENARIO} output_dir:={OUTPUT_DIR} headless:=true | |
- name: Upload result | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
if: always() | |
with: | |
name: test-example-external-method-result | |
path: test_example_external_method/test.xml | |
test-example-moveit2: | |
needs: [build] | |
runs-on: intellabs-01 | |
container: | |
image: ghcr.io/intellabs/scenario-execution:${{ github.event.pull_request.base.ref }} | |
credentials: | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Restore cache | |
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | |
with: | |
key: ${{ runner.os }}-build-${{ github.run_number }} | |
path: . | |
- name: Test Example Moveit2 | |
shell: bash | |
run: | | |
source /opt/ros/${{ github.event.pull_request.base.ref == 'main' && 'humble' || github.event.pull_request.base.ref }}/setup.bash | |
source install/setup.bash | |
Xvfb :1 -screen 0 800x600x16 & | |
export DISPLAY=:1.0 | |
export -n CYCLONEDDS_URI | |
export ROS_DOMAIN_ID=2 | |
export IGN_PARTITION=${HOSTNAME}:${GITHUB_RUN_ID} | |
sed -i 's/60s/600s/g' examples/example_moveit2/example_moveit2.osc | |
# shellcheck disable=SC1083 | |
scenario_batch_execution -i examples/example_moveit2/ -o test_example_moveit2 -- ros2 launch arm_sim_scenario sim_moveit_scenario_launch.py scenario:={SCENARIO} output_dir:={OUTPUT_DIR} | |
- name: Upload result | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
if: always() | |
with: | |
name: test-example-moveit2-result | |
path: test_example_moveit2/test.xml | |
test-scenario-execution-gazebo: | |
needs: [build] | |
runs-on: intellabs-01 | |
timeout-minutes: 30 | |
container: | |
image: ghcr.io/intellabs/scenario-execution:${{ github.event.pull_request.base.ref }} | |
credentials: | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Restore cache | |
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | |
with: | |
key: ${{ runner.os }}-build-${{ github.run_number }} | |
path: . | |
- name: Test Scenario Execution Gazebo | |
shell: bash | |
run: | | |
source /opt/ros/${{ github.event.pull_request.base.ref == 'main' && 'humble' || github.event.pull_request.base.ref }}/setup.bash | |
source install/setup.bash | |
Xvfb :1 -screen 0 800x600x16 & | |
export DISPLAY=:1.0 | |
export -n CYCLONEDDS_URI | |
export ROS_DOMAIN_ID=2 | |
export IGN_PARTITION=${HOSTNAME}:${GITHUB_RUN_ID} | |
# shellcheck disable=SC1083 | |
scenario_batch_execution -i test/scenario_execution_gazebo_test/scenarios/ -o test_scenario_execution_gazebo -- ros2 launch tb4_sim_scenario sim_nav_scenario_launch.py scenario:={SCENARIO} output_dir:={OUTPUT_DIR} headless:=true | |
- name: Upload result | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
if: always() | |
with: | |
name: test-scenario-execution-gazebo | |
path: test_scenario_execution_gazebo/test.xml | |
test-scenario-execution-nav2: | |
needs: [build] | |
runs-on: intellabs-01 | |
timeout-minutes: 30 | |
container: | |
image: ghcr.io/intellabs/scenario-execution:${{ github.event.pull_request.base.ref }} | |
credentials: | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Restore cache | |
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | |
with: | |
key: ${{ runner.os }}-build-${{ github.run_number }} | |
path: . | |
- name: Test Scenario Execution Nav2 | |
shell: bash | |
run: | | |
source /opt/ros/${{ github.event.pull_request.base.ref == 'main' && 'humble' || github.event.pull_request.base.ref }}/setup.bash | |
source install/setup.bash | |
Xvfb :1 -screen 0 800x600x16 & | |
export DISPLAY=:1.0 | |
export -n CYCLONEDDS_URI | |
export ROS_DOMAIN_ID=2 | |
export IGN_PARTITION=${HOSTNAME}:${GITHUB_RUN_ID} | |
# shellcheck disable=SC1083 | |
scenario_batch_execution -i test/scenario_execution_nav2_test/scenarios/ -o test_scenario_execution_nav2 -- ros2 launch tb4_sim_scenario sim_nav_scenario_launch.py scenario:={SCENARIO} output_dir:={OUTPUT_DIR} headless:=true | |
- name: Upload result | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
if: always() | |
with: | |
name: test-scenario-execution-nav2 | |
path: test_scenario_execution_nav2/test.xml | |
- name: Convert video | |
if: always() | |
shell: bash | |
run: | | |
source /opt/ros/${{ github.event.pull_request.base.ref == 'main' && 'humble' || github.event.pull_request.base.ref }}/setup.bash | |
source /rosbag2_to_video/install/setup.bash | |
ros2 bag to_video -t /static_camera/image_raw -o test_scenario_execution_nav2/test_scenario_execution_nav2/example_nav2.mp4 test_scenario_execution_nav2/test_scenario_execution_nav2/rosbag2_* --fps 5 --codec mp4v | |
- name: Upload video | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
if: always() | |
with: | |
name: test-scenario-execution-nav2-video | |
path: test_scenario_execution_nav2/test_scenario_execution_nav2/example_nav2.mp4 | |
test-scenario-execution-pybullet: | |
needs: [build] | |
runs-on: intellabs-01 | |
timeout-minutes: 10 | |
container: | |
image: ghcr.io/intellabs/scenario-execution:${{ github.event.pull_request.base.ref }} | |
credentials: | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Restore cache | |
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | |
with: | |
key: ${{ runner.os }}-build-${{ github.run_number }} | |
path: . | |
- name: Test Scenario Execution PyBullet | |
shell: bash | |
run: | | |
source /opt/ros/${{ github.event.pull_request.base.ref == 'main' && 'humble' || github.event.pull_request.base.ref }}/setup.bash | |
source install/setup.bash | |
Xvfb :1 -screen 0 800x600x16 & | |
export DISPLAY=:1.0 | |
sed -i 's/p.GUI/p.DIRECT/g' ./install/scenario_execution_pybullet/lib/python3.1*/site-packages/scenario_execution_pybullet/actions/sim_initialize.py | |
ros2 run scenario_execution scenario_execution libs/scenario_execution_pybullet/scenarios/example_pybullet.osc -t -s 0.00416666666 -o test_scenario_execution_pybullet | |
- name: Upload result | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
if: always() | |
with: | |
name: test-scenario-execution-pybullet | |
path: test_scenario_execution_pybullet/test.xml | |
test-scenario-execution-x11: | |
needs: [build] | |
runs-on: intellabs-01 | |
timeout-minutes: 3 | |
container: | |
image: ghcr.io/intellabs/scenario-execution:${{ github.event.pull_request.base.ref }} | |
credentials: | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Restore cache | |
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | |
with: | |
key: ${{ runner.os }}-build-${{ github.run_number }} | |
path: . | |
- name: Test Scenario Execution X11 | |
shell: bash | |
run: | | |
source /opt/ros/${{ github.event.pull_request.base.ref == 'main' && 'humble' || github.event.pull_request.base.ref }}/setup.bash | |
source install/setup.bash | |
sudo apt -y install mesa-utils | |
Xvfb :1 -screen 0 800x600x16 & | |
export DISPLAY=:1.0 | |
ros2 run scenario_execution_ros scenario_execution_ros libs/scenario_execution_x11/scenarios/example_capture.osc -t -o test_scenario_execution_x11 | |
find test_scenario_execution_x11 | |
- name: Upload result | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
if: always() | |
with: | |
name: test-scenario-execution-x11 | |
path: test_scenario_execution_x11/test.xml | |
- name: Upload video | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
if: always() | |
with: | |
name: test-scenario-execution-x11-video | |
path: test_scenario_execution_x11/capture.mp4 | |
tests: | |
needs: | |
- test-scenario-execution | |
- test-scenario-execution-ros | |
- scenario-files-validation | |
- test-example-scenario | |
- test-example-library | |
- test-example-variation | |
- test-example-nav2 | |
- test-example-simulation | |
- test-example-multirobot | |
- test-example-moveit2 | |
- test-example-external-method | |
- test-scenario-execution-gazebo | |
- test-scenario-execution-nav2 | |
- test-scenario-execution-pybullet | |
- test-scenario-execution-x11 | |
runs-on: intellabs-01 | |
if: ${{ always() }} | |
permissions: | |
checks: write | |
pull-requests: write | |
steps: | |
- name: Download all artifacts | |
uses: actions/download-artifact@7a1cd3216ca9260cd8022db641d960b1db4d1be4 #v4.0 | |
with: | |
path: downloaded-artifacts | |
- name: Restore cache | |
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | |
with: | |
key: ${{ runner.os }}-build-${{ github.run_number }} | |
path: . | |
- name: Publish Test Results | |
uses: EnricoMi/publish-unit-test-result-action@30eadd5010312f995f0d3b3cff7fe2984f69409e #v2.16.1 | |
with: | |
check_name: Test Results | |
action_fail: true | |
comment_mode: always | |
files: | | |
downloaded-artifacts/test-scenario-execution/scenario_execution/TEST.xml | |
downloaded-artifacts/test-scenario-execution/scenario_execution_coverage/TEST.xml | |
downloaded-artifacts/test-scenario-execution/libs/scenario_execution_os/TEST.xml | |
downloaded-artifacts/test-scenario-execution/test/scenario_execution_test/TEST.xml | |
downloaded-artifacts/test-scenario-execution-ros/scenario_execution_ros/TEST.xml | |
downloaded-artifacts/test-scenario-execution-ros/test/scenario_execution_ros_test/TEST.xml | |
downloaded-artifacts/test-example-scenario-result/test.xml | |
downloaded-artifacts/test-example-library-result/test.xml | |
downloaded-artifacts/test-example-variation-result/test.xml | |
downloaded-artifacts/test-example-nav2-result/test.xml | |
downloaded-artifacts/test-example-simulation-result/test.xml | |
downloaded-artifacts/test-example-multirobot-result/test.xml | |
downloaded-artifacts/test-example-external-method-result/test.xml | |
downloaded-artifacts/test-example-moveit2-result/test.xml | |
downloaded-artifacts/test-scenario-execution-gazebo/test.xml | |
downloaded-artifacts/test-scenario-execution-nav2/test.xml | |
downloaded-artifacts/test-scenario-execution-pybullet/test.xml |