diff --git a/.github/workflows/check-build-depends.yaml b/.github/workflows/check-build-depends.yaml index 74c97e3bf4be4..c790c2132d71e 100644 --- a/.github/workflows/check-build-depends.yaml +++ b/.github/workflows/check-build-depends.yaml @@ -7,7 +7,7 @@ on: jobs: check-build-depends: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest container: ${{ matrix.container }} strategy: fail-fast: false @@ -20,7 +20,7 @@ jobs: build-depends-repos: build_depends.repos steps: - name: Check out repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Remove exec_depend uses: autowarefoundation/autoware-github-actions/remove-exec-depend@v1 diff --git a/.github/workflows/clang-tidy-differential.yaml b/.github/workflows/clang-tidy-differential.yaml new file mode 100644 index 0000000000000..c37e6fda4e22d --- /dev/null +++ b/.github/workflows/clang-tidy-differential.yaml @@ -0,0 +1,61 @@ +name: clang-tidy-differential + +on: + pull_request: + types: + - opened + - synchronize + - reopened + - labeled + +jobs: + make-sure-label-is-present: + uses: autowarefoundation/autoware-github-actions/.github/workflows/make-sure-label-is-present.yaml@v1 + with: + label: tag:run-clang-tidy-differential + + clang-tidy-differential: + needs: make-sure-label-is-present + if: ${{ needs.make-sure-label-is-present.outputs.result == 'true' }} + runs-on: ubuntu-latest + container: ghcr.io/autowarefoundation/autoware:universe-devel-cuda + steps: + - name: Set PR fetch depth + run: echo "PR_FETCH_DEPTH=$(( ${{ github.event.pull_request.commits }} + 1 ))" >> "${GITHUB_ENV}" + + - name: Checkout PR branch and all PR commits + uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha }} + fetch-depth: ${{ env.PR_FETCH_DEPTH }} + + - name: Show disk space before the tasks + run: df -h + + - name: Remove exec_depend + uses: autowarefoundation/autoware-github-actions/remove-exec-depend@v1 + + - name: Get modified packages + id: get-modified-packages + uses: autowarefoundation/autoware-github-actions/get-modified-packages@v1 + + - name: Get modified files + id: get-modified-files + uses: tj-actions/changed-files@v42 + with: + files: | + **/*.cpp + **/*.hpp + + - name: Run clang-tidy + if: ${{ steps.get-modified-files.outputs.all_changed_files != '' }} + uses: autowarefoundation/autoware-github-actions/clang-tidy@v1 + with: + rosdistro: humble + target-packages: ${{ steps.get-modified-packages.outputs.modified-packages }} + target-files: ${{ steps.get-modified-files.outputs.all_changed_files }} + clang-tidy-config-url: https://raw.githubusercontent.com/autowarefoundation/autoware/main/.clang-tidy + build-depends-repos: build_depends.repos + + - name: Show disk space after the tasks + run: df -h diff --git a/.github/workflows/clang-tidy-pr-comments-manually.yaml b/.github/workflows/clang-tidy-pr-comments-manually.yaml index a4df9f9dec3ed..87f939fe8b72f 100644 --- a/.github/workflows/clang-tidy-pr-comments-manually.yaml +++ b/.github/workflows/clang-tidy-pr-comments-manually.yaml @@ -8,10 +8,10 @@ on: required: true jobs: clang-tidy-pr-comments-manually: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - name: Check out repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Download analysis results run: | @@ -36,7 +36,7 @@ jobs: - name: Check out PR head if: ${{ steps.check-fixes-yaml-existence.outputs.exists == 'true' }} - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: ${{ steps.set-variables.outputs.pr-head-repo }} ref: ${{ steps.set-variables.outputs.pr-head-ref }} diff --git a/.github/workflows/clang-tidy-pr-comments.yaml b/.github/workflows/clang-tidy-pr-comments.yaml index bf2ed81d7ae48..0f6db69dfedd4 100644 --- a/.github/workflows/clang-tidy-pr-comments.yaml +++ b/.github/workflows/clang-tidy-pr-comments.yaml @@ -10,10 +10,10 @@ on: jobs: clang-tidy-pr-comments: if: ${{ github.event.workflow_run.event == 'pull_request' && contains(fromJson('["success", "failure"]'), github.event.workflow_run.conclusion) }} - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - name: Check out repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Download analysis results run: | @@ -37,7 +37,7 @@ jobs: - name: Check out PR head if: ${{ steps.check-fixes-yaml-existence.outputs.exists == 'true' }} - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: ${{ steps.set-variables.outputs.pr-head-repo }} ref: ${{ steps.set-variables.outputs.pr-head-ref }} diff --git a/.github/workflows/delete-closed-pr-docs.yaml b/.github/workflows/delete-closed-pr-docs.yaml index 192e138a83c22..b7b009fb00263 100644 --- a/.github/workflows/delete-closed-pr-docs.yaml +++ b/.github/workflows/delete-closed-pr-docs.yaml @@ -7,7 +7,7 @@ on: jobs: delete-closed-pr-docs: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - name: Check out repository uses: actions/checkout@v3 diff --git a/.github/workflows/deploy-docs.yaml b/.github/workflows/deploy-docs.yaml index 771b4bd36ca9d..b48d70dbacb0c 100644 --- a/.github/workflows/deploy-docs.yaml +++ b/.github/workflows/deploy-docs.yaml @@ -27,7 +27,7 @@ jobs: deploy-docs: needs: prevent-no-label-execution if: ${{ needs.prevent-no-label-execution.outputs.run == 'true' }} - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - name: Check out repository uses: actions/checkout@v3 diff --git a/.github/workflows/update-codeowners-from-packages.yaml b/.github/workflows/update-codeowners-from-packages.yaml index 760a647ffbf56..8b3d2407fbc75 100644 --- a/.github/workflows/update-codeowners-from-packages.yaml +++ b/.github/workflows/update-codeowners-from-packages.yaml @@ -14,7 +14,7 @@ jobs: update-codeowners-from-packages: needs: check-secret if: ${{ needs.check-secret.outputs.set == 'true' }} - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - name: Generate token id: generate-token diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 63dc504f61a2b..823ff516c1dc7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -34,7 +34,7 @@ repos: - id: yamllint - repo: https://github.com/tier4/pre-commit-hooks-ros - rev: v0.10.0 + rev: v0.8.0 hooks: - id: flake8-ros - id: prettier-xacro @@ -49,7 +49,7 @@ repos: - id: shellcheck - repo: https://github.com/scop/pre-commit-shfmt - rev: v3.9.0-1 + rev: v3.8.0-1 hooks: - id: shfmt args: [-w, -s, -i=4] @@ -60,13 +60,13 @@ repos: - id: isort - repo: https://github.com/psf/black - rev: 24.8.0 + rev: 24.4.2 hooks: - id: black args: [--line-length=100] - repo: https://github.com/pre-commit/mirrors-clang-format - rev: v18.1.8 + rev: v18.1.6 hooks: - id: clang-format types_or: [c++, c, cuda] @@ -79,7 +79,7 @@ repos: exclude: .cu - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.28.5 hooks: - id: check-metaschema files: ^.+/schema/.*schema\.json$ diff --git a/codecov.yaml b/codecov.yaml index 89b40a063b0ed..8ca2196768dac 100644 --- a/codecov.yaml +++ b/codecov.yaml @@ -1,15 +1,11 @@ -# https://docs.codecov.com/docs/commit-status#project-status - coverage: status: project: default: - target: 0% # Make CI always succeed - threshold: 100% # Make CI always succeed + target: auto patch: default: - target: 0% # Make CI always succeed - threshold: 100% # Make CI always succeed + target: auto comment: show_carryforward_flags: true @@ -20,231 +16,7 @@ flag_management: statuses: - name_prefix: project- type: project - target: 0% # Make CI always succeed - threshold: 100% # Make CI always succeed + target: auto - name_prefix: patch- type: patch - target: 0% # Make CI always succeed - threshold: 100% # Make CI always succeed - -ignore: - - "**/test/*" - - "**/test/**/*" - - "**/debug.*" - - tools/** - -component_management: - individual_components: - # each entire component - - component_id: common-packages - name: Common Packages - paths: - - common/**/** - - - component_id: control-packages - name: Control Packages - paths: - - control/**/** - - - component_id: evaluator-packages - name: Evaluator Packages - paths: - - evaluator/**/** - - - component_id: launch-packages - name: Launch Packages - paths: - - launch/**/** - - - component_id: localization-packages - name: Localization Packages - paths: - - localization/**/** - - - component_id: map-packages - name: map Packages - paths: - - map/**/** - - - component_id: perception-packages - name: Perception Packages - paths: - - perception/**/** - - - component_id: planning-packages - name: Planning Packages - paths: - - planning/**/** - - - component_id: sensing-packages - name: Sensing Packages - paths: - - sensing/**/** - - - component_id: simulator-packages - name: Simulator Packages - paths: - - simulator/**/** - - - component_id: system-packages - name: System Packages - paths: - - system/**/** - - - component_id: vehicle-packages - name: Vehicle Packages - paths: - - vehicle/**/** - - # TIER IV maintained packages - - component_id: control-tier-iv-maintained-packages - name: Control TIER IV Maintained Packages - paths: - - control/autoware_autonomous_emergency_braking/** - - control/autoware_control_validator/** - - control/autoware_external_cmd_selector/** - # - control/autoware_joy_controller/** - - control/autoware_lane_departure_checker/** - - control/autoware_mpc_lateral_controller/** - - control/autoware_operation_mode_transition_manager/** - - control/autoware_pid_longitudinal_controller/** - # - control/autoware_pure_pursuit/** - - control/autoware_shift_decider/** - # - control/autoware_smart_mpc_trajectory_follower/** - - control/autoware_trajectory_follower_base/** - - control/autoware_trajectory_follower_node/** - - control/autoware_vehicle_cmd_gate/** - # - control/control_performance_analysis/** - - control/obstacle_collision_checker/** - # - control/predicted_path_checker/** - - control/autoware_collision_detector/** - - - component_id: localization-tier-iv-maintained-packages - name: Localization TIER IV Maintained Packages - paths: - - localization/autoware_ekf_localizer/** - - localization/autoware_gyro_odometer/** - - localization/autoware_localization_error_monitor/** - - localization/autoware_localization_util/** - - localization/autoware_ndt_scan_matcher/** - - localization/autoware_pose_initializer/** - - localization/autoware_pose_instability_detector/** - - localization/autoware_stop_filter/** - - localization/autoware_twist2accel/** - - - component_id: map-tier-iv-maintained-packages - name: Map TIER IV Maintained Packages - paths: - - map/**/** - - - component_id: perception-tier-iv-maintained-packages - name: Perception TIER IV Maintained Packages - paths: - - perception/autoware_bytetrack/** - - perception/autoware_cluster_merger/** - - perception/autoware_compare_map_segmentation/** - - perception/autoware_crosswalk_traffic_light_estimator/** - - perception/autoware_detected_object_feature_remover/** - - perception/autoware_detected_object_validation/** - - perception/autoware_detection_by_tracker/** - - perception/autoware_elevation_map_loader/** - - perception/autoware_euclidean_cluster/** - - perception/autoware_ground_segmentation/** - - perception/autoware_image_projection_based_fusion/** - - perception/autoware_lidar_centerpoint/** - - perception/autoware_lidar_transfusion/** - - perception/autoware_map_based_prediction/** - - perception/autoware_multi_object_tracker/** - - perception/autoware_object_merger/** - - perception/autoware_object_range_splitter/** - - perception/autoware_object_velocity_splitter/** - - perception/autoware_occupancy_grid_map_outlier_filter/** - - perception/autoware_probabilistic_occupancy_grid_map/** - - perception/autoware_radar_crossing_objects_noise_filter/** - - perception/autoware_radar_fusion_to_detected_object/** - - perception/autoware_radar_object_clustering/** - - perception/autoware_radar_object_tracker/** - - perception/autoware_radar_tracks_msgs_converter/** - - perception/autoware_raindrop_cluster_filter/** - - perception/autoware_shape_estimation/** - - perception/autoware_simple_object_merger/** - - perception/autoware_tensorrt_classifier/** - - perception/autoware_tensorrt_yolox/** - - perception/autoware_tracking_object_merger/** - - perception/autoware_traffic_light_arbiter/** - - perception/autoware_traffic_light_classifier/** - - perception/autoware_traffic_light_fine_detector/** - - perception/autoware_traffic_light_map_based_detector/** - - perception/autoware_traffic_light_multi_camera_fusion/** - - perception/autoware_traffic_light_occlusion_predictor/** - - perception/autoware_traffic_light_visualization/** - - perception/image_projection_based_fusion/** - # - perception/lidar_apollo_instance_segmentation/** - - perception/lidar_centerpoint/** - - perception/perception_utils/** - - perception/tensorrt_yolo/** - - perception/tensorrt_yolox/** - - perception/traffic_light_classifier/** - - perception/traffic_light_fine_detector/** - - perception/traffic_light_ssd_fine_detector/** - - - component_id: planning-tier-iv-maintained-packages - name: Planning TIER IV Maintained Packages - paths: - - planning/autoware_costmap_generator/** - - planning/autoware_external_velocity_limit_selector/** - - planning/autoware_freespace_planner/** - - planning/autoware_freespace_planning_algorithms/** - - planning/autoware_mission_planner/** - # - planning/autoware_objects_of_interest_marker_interface/** - - planning/autoware_obstacle_cruise_planner/** - # - planning/autoware_obstacle_stop_planner/** - - planning/autoware_path_optimizer/** - - planning/autoware_path_smoother/** - - planning/autoware_planning_test_manager/** - - planning/autoware_planning_topic_converter/** - - planning/autoware_planning_validator/** - - planning/autoware_remaining_distance_time_calculator/** - - planning/autoware_route_handler/** - - planning/autoware_rtc_interface/** - - planning/autoware_scenario_selector/** - - planning/autoware_static_centerline_generator/** - - planning/autoware_surround_obstacle_checker/** - - planning/autoware_velocity_smoother/** - ##### behavior_path_planner ##### - # - planning/behavior_path_planner/autoware_behavior_path_avoidance_by_lane_change_module/** - - planning/behavior_path_planner/autoware_behavior_path_goal_planner_module/** - - planning/behavior_path_planner/autoware_behavior_path_planner_common/** - - planning/behavior_path_planner/autoware_behavior_path_start_planner_module/** - # - planning/behavior_path_planner/autoware_behavior_path_dynamic_obstacle_avoidance_module/** - - planning/behavior_path_planner/autoware_behavior_path_lane_change_module/** - # - planning/behavior_path_planner/autoware_behavior_path_sampling_planner_module/** - - planning/behavior_path_planner/autoware_behavior_path_static_obstacle_avoidance_module/** - # - planning/behavior_path_planner/autoware_behavior_path_external_request_lane_change_module/** - - planning/behavior_path_planner/autoware_behavior_path_planner/** - - planning/behavior_path_planner/autoware_behavior_path_side_shift_module/** - ##### behavior_velocity_planner ##### - - planning/behavior_velocity_planner/autoware_behavior_velocity_blind_spot_module/** - - planning/behavior_velocity_planner/autoware_behavior_velocity_crosswalk_module/** - - planning/behavior_velocity_planner/autoware_behavior_velocity_detection_area_module/** - - planning/behavior_velocity_planner/autoware_behavior_velocity_intersection_module/** - # - planning/behavior_velocity_planner/autoware_behavior_velocity_no_drivable_lane_module/** - - planning/behavior_velocity_planner/autoware_behavior_velocity_no_stopping_area_module/** - # - planning/behavior_velocity_planner/autoware_behavior_velocity_occlusion_spot_module/** - - planning/behavior_velocity_planner/autoware_behavior_velocity_planner/** - - planning/behavior_velocity_planner/autoware_behavior_velocity_planner_common/** - - planning/behavior_velocity_planner/autoware_behavior_velocity_run_out_module/** - # - planning/behavior_velocity_planner/autoware_behavior_velocity_speed_bump_module/** - - planning/behavior_velocity_planner/autoware_behavior_velocity_stop_line_module/** - # - planning/behavior_velocity_planner/autoware_behavior_velocity_template_module/** - - planning/behavior_velocity_planner/autoware_behavior_velocity_traffic_light_module/** - - planning/behavior_velocity_planner/autoware_behavior_velocity_virtual_traffic_light_module/** - - planning/behavior_velocity_planner/autoware_behavior_velocity_walkway_module/** - ##### motion_velocity_planner ##### - - planning/motion_velocity_planner/autoware_motion_velocity_dynamic_obstacle_stop_module/** - - planning/motion_velocity_planner/autoware_motion_velocity_obstacle_velocity_limiter_module/** - - planning/motion_velocity_planner/autoware_motion_velocity_out_of_lane_module/** - - planning/motion_velocity_planner/autoware_motion_velocity_planner_common/** - - planning/motion_velocity_planner/autoware_motion_velocity_planner_node/** - #### sampling_based_planner - - planning/sampling_based_planner/autoware_bezier_sampler/** + target: auto