Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
9955171
remove stale update-sync-param-file
paulsohn Apr 8, 2026
d72a241
add sync params script
paulsohn Apr 8, 2026
ed4a877
update for optional ref and filtering
paulsohn Apr 8, 2026
d17ca81
text change
paulsohn Apr 9, 2026
48bb0c4
update prettier config --no-error-on-unmatched-pattern
paulsohn Apr 9, 2026
6676a7c
bugfix
paulsohn Apr 9, 2026
6db6848
add actual file changes
paulsohn Apr 9, 2026
658cedf
Merge branch 'main' into sohn/sync-params
paulsohn Apr 14, 2026
52daed3
add category based sync params instead of filtering
paulsohn Apr 14, 2026
3e316ec
update checking logic
paulsohn Apr 14, 2026
cc10d5d
update param files
paulsohn Apr 14, 2026
f20ca45
improve edge case handling logic
paulsohn Apr 14, 2026
211a8dc
allow annotation inside override marker
paulsohn Apr 14, 2026
a37b002
update param file with new annotation format
paulsohn Apr 14, 2026
1ac12cb
add actual github workflows
paulsohn Apr 14, 2026
1a09d67
remove stale update-sync-param-files workflow
paulsohn Apr 14, 2026
3c6284b
fix yq to output oneline
paulsohn Apr 14, 2026
002ceeb
refine workflows
paulsohn Apr 14, 2026
95bfd35
fix misconfigured param updates
paulsohn Apr 14, 2026
bfc027e
avoid marker capture the existing comment
paulsohn Apr 14, 2026
e057898
return dict instead of empty array
paulsohn Apr 14, 2026
ab538ee
guide to run directly
paulsohn Apr 14, 2026
e9830c2
fix SHA for yq to prevent supply chain risk
paulsohn Apr 14, 2026
4c79b04
copilot review round
paulsohn Apr 14, 2026
8520572
Merge branch 'main' into sohn/sync-params
paulsohn Apr 17, 2026
6afaa62
drop the stale field with warning instead of raising an error
paulsohn Apr 17, 2026
2bf4291
disable cspell for test
paulsohn Apr 17, 2026
ca68986
add cspell ignore for script
paulsohn Apr 17, 2026
daa85e7
hardcode input_category instead of strenv
paulsohn Apr 17, 2026
b18e6e8
run test in check-params.yaml
paulsohn Apr 17, 2026
d623601
remove redundant re-read
paulsohn Apr 17, 2026
3402d86
adjust the correct behavior for check mode
paulsohn Apr 17, 2026
fda253e
update an integration test to ensure check after update passes
paulsohn Apr 17, 2026
11ce71b
replying to copilot comment
paulsohn Apr 17, 2026
42b3f55
provide empty string category on scheduled run
paulsohn Apr 17, 2026
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
1,005 changes: 1,005 additions & 0 deletions .github/scripts/sync_params.py

Large diffs are not rendered by default.

1,071 changes: 1,071 additions & 0 deletions .github/scripts/test_sync_params.py

Large diffs are not rendered by default.

132 changes: 132 additions & 0 deletions .github/sync-params.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
perception:
- repository: autowarefoundation/autoware_universe
ref: main
files:
# Perception
- # Source param path in source repository.
source: perception/autoware_image_object_locator/config/bbox_object_locator.param.yaml
# List of param paths in current repository that are variants of the source param path.
# Variant files should have the same yaml file layout as the source file and only differ in the parameters.
variants:
- path: autoware_launch/config/perception/object_recognition/detection/camera_vru_detection/near_range_camera_vru_detector.param.yaml
- source: perception/autoware_euclidean_cluster/config/euclidean_cluster.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/clustering/euclidean_cluster.param.yaml
- source: perception/autoware_detected_object_validation/config/obstacle_pointcloud_based_validator.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/detected_object_validation/obstacle_pointcloud_based_validator.param.yaml
- source: perception/autoware_detected_object_validation/config/occupancy_grid_based_validator.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/detected_object_validation/occupancy_grid_based_validator.param.yaml
- source: perception/autoware_detection_by_tracker/config/detection_by_tracker.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/detection_by_tracker/detection_by_tracker.param.yaml
- source: perception/autoware_image_projection_based_fusion/config/fusion_common.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/image_projection_based_fusion/fusion_common.param.yaml
- source: perception/autoware_image_projection_based_fusion/config/pointpainting_common.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/image_projection_based_fusion/pointpainting_common.param.yaml
- source: perception/autoware_image_projection_based_fusion/config/roi_cluster_fusion.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/image_projection_based_fusion/roi_cluster_fusion.param.yaml
- source: perception/autoware_image_projection_based_fusion/config/roi_detected_object_fusion.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/image_projection_based_fusion/roi_detected_object_fusion.param.yaml
- source: perception/autoware_image_projection_based_fusion/config/roi_pointcloud_fusion.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/image_projection_based_fusion/roi_pointcloud_fusion.param.yaml
#
# irregular_object_detector.param.yaml omitted;
# It is actually a mix of 3 different param files. Needs refactoring to track via this workflow.
#
- source: perception/autoware_bevfusion/config/bevfusion_camera_lidar.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/lidar_model/bevfusion_camera_lidar.param.yaml
- source: perception/autoware_bevfusion/config/common_bevfusion.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/lidar_model/bevfusion_common.param.yaml
- source: perception/autoware_bevfusion/config/bevfusion_lidar.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/lidar_model/bevfusion_lidar.param.yaml
- source: perception/autoware_lidar_centerpoint/config/centerpoint_common.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/lidar_model/centerpoint_common.param.yaml
- source: perception/autoware_lidar_centerpoint/config/centerpoint_sigma.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/lidar_model/centerpoint_sigma.param.yaml
- source: perception/autoware_lidar_centerpoint/config/centerpoint_tiny.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/lidar_model/centerpoint_tiny.param.yaml
- source: perception/autoware_lidar_centerpoint/config/centerpoint.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/lidar_model/centerpoint.param.yaml
- source: perception/autoware_image_projection_based_fusion/config/pointpainting.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/lidar_model/pointpainting.param.yaml
- source: perception/autoware_lidar_transfusion/config/transfusion_common.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/lidar_model/transfusion_common.param.yaml
- source: perception/autoware_lidar_transfusion/config/transfusion.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/lidar_model/transfusion.param.yaml
- source: perception/autoware_detected_object_validation/config/object_lanelet_filter.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/object_filter/object_lanelet_filter.param.yaml
- path: autoware_launch/config/perception/object_recognition/detection/object_filter/radar_lanelet_filter.param.yaml
- source: perception/autoware_detected_object_validation/config/object_position_filter.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/object_filter/object_position_filter.param.yaml
- source: perception/autoware_object_merger/config/data_association_matrix.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/object_merger/data_association_matrix.param.yaml
- source: perception/autoware_object_merger/config/object_association_merger.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/object_merger/ml_camera_lidar_object_association_merger.param.yaml
- source: perception/autoware_object_merger/config/overlapped_judge.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/object_merger/overlapped_judge.param.yaml
#
# pointcloud_map_filter.param.yaml omitted. The 'param file' is completely interpreted by launcher.
#
- source: perception/autoware_object_sorter/config/detected_object_sorter.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/detection/radar_filter/detected_object_sorter.param.yaml
- source: perception/autoware_map_based_prediction/config/map_based_prediction.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/prediction/map_based_prediction.param.yaml
- source: perception/autoware_multi_object_tracker/config/data_association_matrix.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/tracking/multi_object_tracker/data_association_matrix.param.yaml
- source: perception/autoware_multi_object_tracker/config/input_channels.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/tracking/multi_object_tracker/input_channels.param.yaml
- source: perception/autoware_multi_object_tracker/config/multi_object_tracker_node.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/tracking/multi_object_tracker/multi_object_tracker_node.param.yaml
- source: perception/autoware_detected_object_validation/config/tracked_object_lanelet_filter.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/tracking/radar_object_tracker/tracked_object_lanelet_filter.param.yaml
- source: perception/autoware_object_sorter/config/tracked_object_sorter.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/tracking/radar_object_tracker/tracked_object_sorter.param.yaml
- source: perception/autoware_tracking_object_merger/config/data_association_matrix.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/tracking/tracking_object_merger/data_association_matrix.param.yaml
- source: perception/autoware_tracking_object_merger/config/decorative_tracker_merger_policy.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/tracking/tracking_object_merger/decorative_tracker_merger_policy.param.yaml
- source: perception/autoware_tracking_object_merger/config/decorative_tracker_merger.param.yaml
variants:
- path: autoware_launch/config/perception/object_recognition/tracking/tracking_object_merger/decorative_tracker_merger.param.yaml
# Perception/obstacle_segmentation
# Perception/occupancy_grid_map
# Perception/traffic_light_recognition

localization: []
map: []
planning: []
control: []
system: []
vehicle: []
simulator: []
80 changes: 0 additions & 80 deletions .github/update-sync-param-files.py

This file was deleted.

93 changes: 93 additions & 0 deletions .github/workflows/check-params.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: check-params

on:
pull_request:
workflow_dispatch:

permissions:
contents: read

jobs:
resolve-categories:
runs-on: ubuntu-22.04
outputs:
matrix: ${{ steps.build-matrix.outputs.matrix }}
steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Install yq
run: |
sudo wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/download/v4.49.2/yq_linux_amd64
echo "be2c0ddcf426b6a231648610ec5d1666ae50e9f6473e82f6486f9f4cb6e3e2f7 /usr/local/bin/yq" | sha256sum -c -
sudo chmod +x /usr/local/bin/yq

- name: Build category matrix from config
id: build-matrix
run: |
set -euo pipefail
matrix_json="$(yq -o=json -I=0 '. | keys' .github/sync-params.yaml)"
Comment thread
paulsohn marked this conversation as resolved.
echo "matrix=${matrix_json}" >> "${GITHUB_OUTPUT}"
echo "Selected categories: ${matrix_json}"

# the test for script itself is done here for every PR until we move the workflow to a separate repository.
test-sync-params-script:
runs-on: ubuntu-22.04
steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install ruamel.yaml

- name: Run unit tests
run: python .github/scripts/test_sync_params.py

check-params-per-category:
needs: resolve-categories
runs-on: ubuntu-22.04
strategy:
fail-fast: false
max-parallel: 4
matrix:
category: ${{ fromJson(needs.resolve-categories.outputs.matrix) }}
steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install ruamel.yaml

- name: Check params
run: python .github/scripts/sync_params.py --check ${{ matrix.category }}
Comment thread
paulsohn marked this conversation as resolved.

check-params:
needs: [check-params-per-category, test-sync-params-script]
if: ${{ always() }}
runs-on: ubuntu-22.04
steps:
- name: Evaluate per-category results
run: |
if [[ "${{ needs.check-params-per-category.result }}" != "success" ]]; then
echo "At least one category check failed."
exit 1
fi
if [[ "${{ needs.test-sync-params-script.result }}" != "success" ]]; then
echo "sync_params.py unit tests failed."
exit 1
fi
echo "All category checks passed."
Comment thread
paulsohn marked this conversation as resolved.
Loading
Loading