Skip to content

Commit f91ec4f

Browse files
Split CI into 3 jobs (#5699)
Signed-off-by: SteveMacenski <stevenmacenski@gmail.com>
1 parent b89bfab commit f91ec4f

File tree

1 file changed

+57
-11
lines changed

1 file changed

+57
-11
lines changed

‎.circleci/config.yml‎

Lines changed: 57 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,9 @@ _commands:
126126
packages_skip_regex:
127127
default: ""
128128
type: string
129+
packages_select:
130+
default: ""
131+
type: string
129132
restore:
130133
default: true
131134
type: boolean
@@ -192,6 +195,19 @@ _commands:
192195
$BUILD_INVALID \
193196
| xargs)
194197
fi
198+
199+
# If packages_select is specified, filter BUILD_PACKAGES
200+
if [ -n "<< parameters.packages_select >>" ]; then
201+
SELECTED_PACKAGES="<< parameters.packages_select >>"
202+
if [ -n "$BUILD_PACKAGES" ]; then
203+
# Keep only packages that are in both lists
204+
BUILD_PACKAGES=$(echo "$BUILD_PACKAGES" | tr ' ' '\n' | \
205+
grep -F -x -f <(echo "$SELECTED_PACKAGES" | tr ' ' '\n') | \
206+
xargs || echo "$SELECTED_PACKAGES")
207+
else
208+
BUILD_PACKAGES="$SELECTED_PACKAGES"
209+
fi
210+
fi
195211
echo BUILD_PACKAGES: $BUILD_PACKAGES
196212
197213
colcon clean packages --yes \
@@ -389,6 +405,7 @@ _steps:
389405
setup_workspace:
390406
<<: *setup_workspace_overlay
391407
packages_skip_regex: << parameters.packages_skip_regex >>
408+
packages_select: << parameters.packages_select >>
392409
restore_overlay_workspace: &restore_overlay_workspace
393410
setup_workspace:
394411
<<: *setup_workspace_overlay
@@ -439,6 +456,9 @@ commands:
439456
parameters:
440457
packages_skip_regex:
441458
type: string
459+
packages_select:
460+
type: string
461+
default: ""
442462
steps:
443463
- *build_workspace_overlay
444464
restore_build:
@@ -496,6 +516,9 @@ _jobs:
496516
packages_skip_regex:
497517
type: string
498518
default: ""
519+
packages_select:
520+
type: string
521+
default: ""
499522
job_test: &job_test
500523
parameters:
501524
<<: *job_build_parameters
@@ -510,21 +533,31 @@ _jobs:
510533
RMW_IMPLEMENTATION: << parameters.rmw >>
511534

512535
jobs:
513-
release_build: &release_build
536+
core_build:
514537
<<: *job_build
515538
executor: release_exec
516539
steps:
517540
- checkout_source
518541
- setup_dependencies
519542
- build_source:
520543
packages_skip_regex: << parameters.packages_skip_regex >>
521-
system_build: &system_build
544+
packages_select: << parameters.packages_select >>
545+
algorithm_build:
522546
<<: *job_build
523547
executor: release_exec
524548
steps:
525549
- restore_build
526550
- build_source:
527551
packages_skip_regex: << parameters.packages_skip_regex >>
552+
packages_select: << parameters.packages_select >>
553+
system_build:
554+
<<: *job_build
555+
executor: release_exec
556+
steps:
557+
- restore_build
558+
- build_source:
559+
packages_skip_regex: << parameters.packages_skip_regex >>
560+
packages_select: << parameters.packages_select >>
528561
release_test: &release_test
529562
<<: *job_test
530563
executor: release_exec
@@ -536,36 +569,49 @@ jobs:
536569
- report_coverage
537570

538571
_parameters:
539-
release_build_parameters: &release_build_parameters
540-
packages_skip_regex: "'(nav2_system_tests|nav2_smac_planner|nav2_mppi_controller|nav2_route|nav2_rviz_plugins|nav2_rotation_shim_controller|nav2_waypoint_follower|nav2_smoother|opennav_docking|opennav_following|nav2_behaviors|nav2_bringup|navigation2)'"
541-
system_build_parameters: &system_build_parameters
572+
core_build_parameters: &core_build_parameters
542573
packages_skip_regex: ""
574+
packages_select: "nav2_common nav2_voxel_grid nav_2d_msgs dwb_msgs nav2_msgs nav2_ros_common nav2_simple_commander nav2_loopback_sim nav2_util nav2_amcl nav2_behavior_tree nav2_lifecycle_manager nav2_map_server nav_2d_utils nav2_velocity_smoother nav2_costmap_2d costmap_queue nav2_core"
575+
algorithm_build_parameters: &algorithm_build_parameters
576+
packages_skip_regex: ""
577+
packages_select: "nav2_collision_monitor dwb_core dwb_critics dwb_plugins nav2_dwb_controller nav2_controller nav2_bt_navigator nav2_constrained_smoother nav2_navfn_planner nav2_planner nav2_regulated_pure_pursuit_controller nav2_theta_star_planner nav2_graceful_controller"
578+
system_build_parameters: &system_build_parameters
579+
packages_skip_regex: "'(nav2_common|nav2_voxel_grid|nav_2d_msgs|dwb_msgs|nav2_msgs|nav2_ros_common|nav2_simple_commander|nav2_loopback_sim|nav2_util|nav2_amcl|nav2_behavior_tree|nav2_lifecycle_manager|nav2_map_server|nav_2d_utils|nav2_velocity_smoother|nav2_costmap_2d|costmap_queue|nav2_core|nav2_collision_monitor|dwb_core|dwb_critics|dwb_plugins|nav2_dwb_controller|nav2_controller|nav2_bt_navigator|nav2_constrained_smoother|nav2_navfn_planner|nav2_planner|nav2_regulated_pure_pursuit_controller|nav2_theta_star_planner|nav2_graceful_controller)'"
580+
packages_select: ""
543581
release_test_parameters: &release_test_parameters
544582
packages_skip_regex: ""
545583

546584
workflows:
547585
version: 2
548586
build_and_test:
549587
jobs:
550-
- release_build:
551-
<<: *release_build_parameters
588+
- core_build:
589+
<<: *core_build_parameters
590+
- algorithm_build:
591+
<<: *algorithm_build_parameters
592+
requires:
593+
- core_build
552594
- system_build:
553595
<<: *system_build_parameters
554596
requires:
555-
- release_build
597+
- algorithm_build
556598
- release_test:
557599
<<: *release_test_parameters
558600
requires:
559601
- system_build
560602
cache_test: true
561603
nightly:
562604
jobs:
563-
- release_build:
564-
<<: *release_build_parameters
605+
- core_build:
606+
<<: *core_build_parameters
607+
- algorithm_build:
608+
<<: *algorithm_build_parameters
609+
requires:
610+
- core_build
565611
- system_build:
566612
<<: *system_build_parameters
567613
requires:
568-
- release_build
614+
- algorithm_build
569615
- release_test:
570616
requires:
571617
- system_build

0 commit comments

Comments
 (0)