CAR 6008 - Temporarily disable failing unit tests in carma-platform's CI #34
Workflow file for this run
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
# GitHub Actions triggers based on the PR's and each commits on develop and master | |
name: "CI: Run tests" | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened] | |
push: | |
branches: [develop, master] | |
jobs: | |
build: | |
defaults: | |
run: | |
shell: bash | |
working-directory: "/opt/carma/" | |
# Specify the runner environment | |
runs-on: ubuntu-latest | |
# Set up a Docker container for the job | |
container: | |
image: usdotfhwastoldev/autoware.ai:develop | |
env: | |
INIT_ENV: "/home/carma/.base-image/init-env.sh" | |
ROS_2_ENV: "/opt/ros/foxy/setup.bash" | |
TERM: xterm | |
options: "--user root" | |
steps: | |
- name: Checkout ${{ github.event.repository.name }} | |
# Check out the repository code | |
uses: actions/checkout@v3.3.0 | |
with: | |
fetch-depth: 0 | |
path: src/${{ github.event.repository.name }} | |
- name: Move source code | |
# Move the source code to the desired location | |
run: mv $GITHUB_WORKSPACE/src /opt/carma/ | |
- name: Checkout dependencies | |
# Checkout project dependencies | |
run: | | |
source "$INIT_ENV" | |
./src/${{ github.event.repository.name }}/docker/checkout.bash -r /opt/carma/ | |
- name: Install external dependencies | |
# Install the multiple object tracking deps | |
run: sudo bash /opt/carma/src/multiple_object_tracking/scripts/install_dependencies.sh | |
- name: Build ROS1 | |
# Build ROS1 packages | |
# The skipped ROS 1 packages here should match the ROS 1 packages that are skipped during the build in docker/install.sh | |
run: | | |
source "$INIT_ENV" | |
PACKAGES=$(find . -maxdepth 2 -type f -name package.xml | sed 's/\.\///' | cut -d/ -f1) # maxdepth 2 Limits the search of package.xml to current directory and one level of subdirectories beneath it. find will not search beyond two levels deep from the starting point. Without this option, find would search the starting directory and all subdirectories recursively. | |
sed -i 's/colcon build /colcon build --packages-skip novatel_oem7_msgs tracetools tracetools_test /' /home/carma/.ci-image/engineering_tools/code_coverage/make_with_coverage.bash | |
make_with_coverage.bash -m -e /opt/carma/ -o ./coverage_reports/gcov | |
- name: Run ROS1 C++ Tests | |
# Run ROS1 C++ tests | |
# The skipped ROS 1 packages here should match the ROS 1 packages that are skipped during the build in docker/install.sh" | |
run: | | |
source "$INIT_ENV" | |
sed -i 's/colcon test /colcon test --packages-skip novatel_oem7_msgs tracetools tracetools_test /' /home/carma/.ci-image/engineering_tools/code_coverage/make_with_coverage.bash | |
make_with_coverage.bash -t -e /opt/carma/ -o ./coverage_reports/gcov | |
- name: Backup ROS1 compile_commands.json | |
# Backup the ROS1 compile_commands.json file for sonarcloud | |
run: | | |
mv /opt/carma/build/compile_commands.json /opt/carma/compile_commands.ros1.json | |
- name: Cleanup before ROS 2 build | |
# Clear the build and install folders before building ROS 2 | |
run: | | |
rm -rf /opt/carma/install | |
rm -rf /opt/carma/build | |
- name: Build ROS2 | |
# Build ROS2 packages | |
run: | | |
source "$INIT_ENV" | |
source "$ROS_2_ENV" | |
source /opt/autoware.ai/ros/install_ros2/setup.bash | |
make_with_coverage.bash -m -e /opt/carma/ -o ./coverage_reports/gcov | |
- name: Run ROS2 C++ Tests | |
# Run ROS2 C++ tests | |
run: | | |
source "$INIT_ENV" | |
source "$ROS_2_ENV" | |
source /opt/autoware.ai/ros/install_ros2/setup.bash | |
make_with_coverage.bash -t -e /opt/carma/ -o ./coverage_reports/gcov | |
- name: Combine ROS1 and ROS2 compile_commands.json files | |
# Combine the ROS1 and ROS2 compile_commands.json files for sonarscan | |
run: | | |
mv /opt/carma/build/compile_commands.json /opt/carma/compile_commands.ros2.json | |
jq -s add /opt/carma/compile_commands.ros1.json /opt/carma/compile_commands.ros2.json > /opt/carma/build/compile_commands.json | |
- name: Run SonarScanner | |
# Run SonarScanner for code analysis | |
uses: usdot-fhwa-stol/actions/sonar-scanner@main | |
with: | |
sonar-token: ${{ secrets.SONAR_TOKEN }} | |
working-dir: "/opt/carma/src/${{ github.event.repository.name }}" |