diff --git a/.circleci/config.yml b/.circleci/config.yml index 6649a1e5ce5..6b6574f372a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -33,12 +33,12 @@ _commands: - restore_cache: name: Restore Cache << parameters.key >> keys: - - "<< parameters.key >>-v13\ + - "<< parameters.key >>-v14\ -{{ arch }}\ -{{ .Branch }}\ -{{ .Environment.CIRCLE_PR_NUMBER }}\ -{{ checksum \"<< parameters.workspace >>/lockfile.txt\" }}" - - "<< parameters.key >>-v13\ + - "<< parameters.key >>-v14\ -{{ arch }}\ -main\ -\ @@ -58,7 +58,7 @@ _commands: steps: - save_cache: name: Save Cache << parameters.key >> - key: "<< parameters.key >>-v13\ + key: "<< parameters.key >>-v14\ -{{ arch }}\ -{{ .Branch }}\ -{{ .Environment.CIRCLE_PR_NUMBER }}\ @@ -123,7 +123,7 @@ _commands: type: string mixins: type: string - skip: + packages_skip_regex: default: "" type: string restore: @@ -185,6 +185,7 @@ _commands: BUILD_PACKAGES=$( colcon list \ --names-only \ + --packages-skip-regex << parameters.packages_skip_regex >> \ --packages-above \ $BUILD_UNFINISHED \ $BUILD_FAILED \ @@ -200,7 +201,6 @@ _commands: . << parameters.underlay >>/install/setup.sh colcon build \ --packages-select ${BUILD_PACKAGES} \ - --packages-skip << parameters.skip >> \ --mixin << parameters.mixins >> - ccache_stats: workspace: << parameters.workspace >> @@ -226,6 +226,9 @@ _commands: type: string cache_test: type: boolean + packages_skip_regex: + type: string + default: "" steps: - run: name: Test Workspace | << parameters.workspace >> @@ -261,6 +264,7 @@ _commands: TEST_PACKAGES=$( colcon list \ --names-only \ + --packages-skip-regex << parameters.packages_skip_regex >> \ --packages-above \ $TEST_UNPASSED \ $TEST_FAILURES \ @@ -270,7 +274,8 @@ _commands: then TEST_PACKAGES=$( colcon list \ - --names-only) + --names-only) \ + --packages-skip-regex << parameters.packages_skip_regex >> fi TEST_PACKAGES=$( echo $TEST_PACKAGES \ @@ -380,14 +385,10 @@ _steps: underlay: /opt/underlay_ws workspace: /opt/overlay_ws mixins: ${OVERLAY_MIXINS} - setup_workspace_overlay_1: &setup_workspace_overlay_1 - setup_workspace: - <<: *setup_workspace_overlay - skip: nav2_system_tests - setup_workspace_overlay_2: &setup_workspace_overlay_2 + build_workspace_overlay: &build_workspace_overlay setup_workspace: <<: *setup_workspace_overlay - restore: false + packages_skip_regex: << parameters.packages_skip_regex >> restore_overlay_workspace: &restore_overlay_workspace setup_workspace: <<: *setup_workspace_overlay @@ -397,6 +398,7 @@ _steps: key: overlay_ws workspace: /opt/overlay_ws cache_test: << parameters.cache_test >> + packages_skip_regex: << parameters.packages_skip_regex >> collect_overlay_coverage: &collect_overlay_coverage run: name: Collect Code Coverage @@ -434,9 +436,11 @@ commands: - *install_overlay_dependencies build_source: description: "Build Source" + parameters: + packages_skip_regex: + type: string steps: - - *setup_workspace_overlay_1 - - *setup_workspace_overlay_2 + - *build_workspace_overlay restore_build: description: "Restore Build" steps: @@ -450,6 +454,8 @@ commands: parameters: cache_test: type: boolean + packages_skip_regex: + type: string steps: - *test_overlay_workspace report_coverage: @@ -485,8 +491,14 @@ executors: OVERLAY_MIXINS: "release ccache coverage-gcc lld" _jobs: + job_build: &job_build + parameters: &job_build_parameters + packages_skip_regex: + type: string + default: "" job_test: &job_test parameters: + <<: *job_build_parameters cache_test: type: boolean default: false @@ -499,11 +511,15 @@ _jobs: jobs: release_build: &release_build + <<: *job_build executor: release_exec steps: - checkout_source - setup_dependencies - - build_source + - build_source: + packages_skip_regex: << parameters.packages_skip_regex >> + system_build: &system_build + <<: *release_build release_test: &release_test <<: *job_test executor: release_exec @@ -511,24 +527,39 @@ jobs: - restore_build - test_build: cache_test: << parameters.cache_test >> + packages_skip_regex: << parameters.packages_skip_regex >> - report_coverage +_parameters: + release_parameters: &release_parameters + packages_skip_regex: "nav2_system_tests" + workflows: version: 2 build_and_test: jobs: - - release_build - - release_test: + - release_build: + <<: *release_parameters + - system_build: requires: - release_build + - release_test: + requires: + - system_build cache_test: true nightly: jobs: - - release_build - - release_test: + - release_build: + <<: *release_parameters + - system_build: requires: - release_build + - release_test: + requires: + - system_build + <<: *release_parameters matrix: + alias: release_test parameters: rmw: - rmw_connextdds