Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .github/workflows/sphinx-docs.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,23 @@
name: Build and Deploy Sphinx Docs

on:
workflow_dispatch:
push:
branches: [main]
paths:
- ".github/workflows/sphinx-docs.yml"
- "README.md"
- "docs/**"
- "client/python/projectairsim/docs/**"
- "client/python/projectairsim/src/**"
pull_request:
branches: [main]
paths:
- ".github/workflows/sphinx-docs.yml"
- "README.md"
- "docs/**"
- "client/python/projectairsim/docs/**"
- "client/python/projectairsim/src/**"

jobs:
build-docs:
Expand Down
96 changes: 87 additions & 9 deletions .github/workflows/test_cpp_client.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: C++ Client Build and Package
name: C++ Client and ROS 2 C++ Node CI

"on":
workflow_dispatch:
Expand All @@ -8,27 +8,56 @@ name: C++ Client Build and Package
paths:
- ".github/workflows/test_cpp_client.yml"
- "client/cpp/**"
- "build.cmd"
- "build.sh"
- "build_windows.mk"
- "build_linux.mk"
- "client/python/example_user_scripts/sim_config/**"
- "core_sim/**"
- "ros/projectairsim_ros2_cpp/**"
push:
branches:
- main
paths:
- ".github/workflows/test_cpp_client.yml"
- "client/cpp/**"
- "build.cmd"
- "build.sh"
- "build_windows.mk"
- "build_linux.mk"
- "client/python/example_user_scripts/sim_config/**"
- "core_sim/**"
- "ros/projectairsim_ros2_cpp/**"

permissions:
contents: read
pull-requests: read

jobs:
changes:
name: Detect changed components
runs-on: ubuntu-22.04
outputs:
client: ${{ steps.filter.outputs.client }}
ros2: ${{ steps.filter.outputs.ros2 }}

steps:
- uses: actions/checkout@v4

- name: Detect relevant changes
id: filter
if: github.event_name != 'workflow_dispatch'
uses: dorny/paths-filter@v3
with:
filters: |
client:
- '.github/workflows/test_cpp_client.yml'
- 'client/cpp/**'
- 'client/python/example_user_scripts/sim_config/**'
- 'core_sim/**'
ros2:
- '.github/workflows/test_cpp_client.yml'
- 'ros/projectairsim_ros2_cpp/**'
- 'client/cpp/**'
- 'client/python/example_user_scripts/sim_config/**'
- 'core_sim/**'

windows:
name: Windows package
needs: changes
if: github.event_name == 'workflow_dispatch' || needs.changes.outputs.client == 'true'
runs-on: windows-2022
timeout-minutes: 90

Expand Down Expand Up @@ -137,6 +166,8 @@ jobs:

linux:
name: Linux package (${{ matrix.os }})
needs: changes
if: github.event_name == 'workflow_dispatch' || needs.changes.outputs.client == 'true'
runs-on: ${{ matrix.os }}
timeout-minutes: 90

Expand Down Expand Up @@ -255,3 +286,50 @@ jobs:
packages/projectairsim_cpp_client/ProjectAirSimCppClient-*-linux64.tar.gz
packages/projectairsim_cpp_client/ProjectAirSimCppClient-*-linux64.tar.gz.sha256
if-no-files-found: error

ros2-humble:
name: ROS 2 Humble node build and unit tests
needs: changes
if: github.event_name == 'workflow_dispatch' || needs.changes.outputs.ros2 == 'true'
runs-on: ubuntu-22.04
timeout-minutes: 45

steps:
- uses: actions/checkout@v4

- name: Set up ROS 2 Humble
uses: ros-tooling/setup-ros@v0.7
with:
required-ros-distributions: humble

- name: Install package dependencies
shell: bash
run: |
rosdep update
rosdep install \
--from-paths ros/projectairsim_ros2_cpp \
--ignore-src \
--rosdistro humble \
-y

- name: Build node
shell: bash
run: |
source /opt/ros/humble/setup.bash
colcon build \
--base-paths ros \
--packages-select projectairsim_ros2_cpp \
--cmake-args -DBUILD_TESTING=ON \
--event-handlers console_direct+

- name: Run unit tests
shell: bash
run: |
source /opt/ros/humble/setup.bash
source install/setup.bash
colcon test \
--base-paths ros \
--packages-select projectairsim_ros2_cpp \
--return-code-on-test-failure \
--event-handlers console_direct+
colcon test-result --test-result-base build --verbose
44 changes: 0 additions & 44 deletions .github/workflows/test_linux_simlibs_debug.yml

This file was deleted.

67 changes: 67 additions & 0 deletions .github/workflows/test_linux_simlibs_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Linux SimLibs Release Tests

on:
workflow_dispatch:
pull_request:
branches:
- main
paths:
- ".github/workflows/test_linux_simlibs_release.yml"
- "CMakeLists.txt"
- "build.cmd"
- "build.sh"
- "build_linux.mk"
- "setup_linux_dev_tools.sh"
- "core_sim/**"
- "mavlinkcom/**"
- "physics/**"
- "rendering/**"
- "samples/**"
- "simserver/**"
- "tools/**"
- "unity/**"
- "vehicle_apis/**"
push:
branches:
- main
paths:
- ".github/workflows/test_linux_simlibs_release.yml"
- "CMakeLists.txt"
- "build.cmd"
- "build.sh"
- "build_linux.mk"
- "setup_linux_dev_tools.sh"
- "core_sim/**"
- "mavlinkcom/**"
- "physics/**"
- "rendering/**"
- "samples/**"
- "simserver/**"
- "tools/**"
- "unity/**"
- "vehicle_apis/**"

jobs:
test-simlibs-release:
runs-on: ubuntu-22.04
timeout-minutes: 180

steps:
- uses: actions/checkout@v4

- name: Set up Linux development tools
shell: bash
run: |
chmod +x ./setup_linux_dev_tools.sh
./setup_linux_dev_tools.sh

- name: Build SimLibs
shell: bash
run: |
chmod +x ./build.sh
./build.sh simlibs_release

- name: Test SimLibs
shell: bash
run: |
./build.sh test_simlibs_release
18 changes: 18 additions & 0 deletions .github/workflows/test_on_self_hosted.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,24 @@ on:
pull_request:
branches:
- main
paths:
- ".github/workflows/test_on_self_hosted.yml"
- "CMakeLists.txt"
- "build.sh"
- "build_linux.mk"
- "setup_linux_dev_tools.sh"
- "unreal-linux-toolchain.cmake"
- "client/python/**"
- "core_sim/**"
- "mavlinkcom/**"
- "physics/**"
- "rendering/**"
- "samples/**"
- "simserver/**"
- "tools/**"
- "unity/**"
- "unreal/**"
- "vehicle_apis/**"
# Only run when the self-hosted label is added; the job itself still
# rejects draft PRs and PRs without run-self-hosted.
types: [labeled]
Expand Down
31 changes: 30 additions & 1 deletion .github/workflows/test_windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,41 @@ name: Windows Build and Tests

# Controls when the action will run.
on:
workflow_dispatch:
pull_request:
branches:
- main
paths:
- ".github/workflows/test_windows.yml"
- "CMakeLists.txt"
- "build.cmd"
- "build_windows.mk"
- "core_sim/**"
- "mavlinkcom/**"
- "physics/**"
- "rendering/**"
- "samples/**"
- "simserver/**"
- "tools/**"
- "unity/**"
- "vehicle_apis/**"
push:
branches:
- main
paths:
- ".github/workflows/test_windows.yml"
- "CMakeLists.txt"
- "build.cmd"
- "build_windows.mk"
- "core_sim/**"
- "mavlinkcom/**"
- "physics/**"
- "rendering/**"
- "samples/**"
- "simserver/**"
- "tools/**"
- "unity/**"
- "vehicle_apis/**"

jobs:
build:
Expand All @@ -31,4 +60,4 @@ jobs:

- name: Run SimLibs Debug Tests
shell: cmd
run: build test_simlibs_debug
run: build test_simlibs_debug
Loading