Skip to content

Feature/arm_build_test #1543

Feature/arm_build_test

Feature/arm_build_test #1543

Workflow file for this run

name: BuildAndRun
on:
workflow_dispatch:
schedule:
- cron: 0 0 * * *
pull_request:
paths:
- '**'
- '!docs/**'
- '!README.md'
- '!.github/**'
- '.github/workflows/BuildAndRun.yaml'
- '!mkdocs.yml'
- '!pyproject.toml'
- '!poetry.lock'
push:
branches:
- master
jobs:
job1:
name: BuildAndRun
runs-on: ${{ matrix.runs_on }}
timeout-minutes: 180
container: ros:${{ matrix.rosdistro }}
env:
DEBIAN_FRONTEND: noninteractive
strategy:
fail-fast: false
matrix:
rosdistro: [humble]
runs_on: [ubuntu-22.04, macos-14] # macos-14 is added for arm support. See also https://x.com/github/status/1752458943245189120?s=20
steps:
- name: suppress warnings
run: |
git config --global --add safe.directory '*'
# - uses: actions/checkout@v2-beta
# with:
# fetch-depth: 0
# token: ${{ secrets.GITHUB_TOKEN }}
# - run: git clone https://github.com/RobotecAI/scenario_simulator_v2_scenarios.git
# - name: Search packages in this repository
# id: list_packages
# run: |
# echo package_list=$(colcon list --names-only | tr '\n' ' ') >> $GITHUB_OUTPUT
# - name: Show target packages
# run: |
# echo "Target packages: ${{ steps.list_packages.outputs.package_list }}"
# - name: Copy repository
# run: |
# mkdir -p ~/ros2_ws/src/scenario_simulator_v2
# cp -rf . ~/ros2_ws/src/scenario_simulator_v2
# shell: bash
# - name: Install dependencies
# run: |
# cd ~/ros2_ws
# vcs import src < src/scenario_simulator_v2/dependency_${{ matrix.rosdistro }}.repos
# - name: Resolve rosdep
# run: |
# cd ~/ros2_ws
# apt update
# apt install -y python3-pip
# rosdep update --include-eol-distros
# rosdep install -iy --from-paths src --rosdistro ${{ matrix.rosdistro }}
# shell: bash
# - name: Build packages
# run: |
# source /opt/ros/${{ matrix.rosdistro }}/setup.bash
# cd ~/ros2_ws
# colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_CPP_MOCK_SCENARIOS=ON --packages-up-to ${{ steps.list_packages.outputs.package_list }}
# shell: bash
# - name: Colcon test
# run: |
# source /opt/ros/${{ matrix.rosdistro }}/setup.bash
# cd ~/ros2_ws
# source install/local_setup.bash
# colcon test --packages-select ${{ steps.list_packages.outputs.package_list }}
# shell: bash
# - name: Show test result
# if: always()
# run: |
# source /opt/ros/${{ matrix.rosdistro }}/setup.bash
# cd ~/ros2_ws
# source install/local_setup.bash
# colcon test-result --verbose
# shell: bash
# - name: Scenario test
# run: |
# source ~/ros2_ws/install/setup.bash
# source ~/ros2_ws/install/local_setup.bash
# ros2 launch scenario_test_runner scenario_test_runner.launch.py workflow:='$(find-pkg-share scenario_test_runner)/config/workflow_example.yaml' global_frame_rate:=20
# ros2 run scenario_test_runner result_checker.py /tmp/scenario_test_runner/result.junit.xml
# shell: bash
# - name: Basic test
# run: |
# source ~/ros2_ws/install/setup.bash
# source ~/ros2_ws/install/local_setup.bash
# ros2 launch scenario_test_runner scenario_test_runner.launch.py workflow:='$(find-pkg-share scenario_simulator_v2_scenarios)/workflow/basic.yaml'
# ros2 run scenario_test_runner result_checker.py /tmp/scenario_test_runner/result.junit.xml
# shell: bash