Checklist
Description
Automate autoware_universe (and possible other sources) -> autoware_launch param updating PRs.
Purpose
Currently every time autoware_universe param files has changed, the integration side (autoware_launch) needs to update the fields by manual PRs and drifts are not tracked. Similar to sync-files, automate the syncing process so that the autoware_universe param updates can be detected and auto-updated, while allowing certain fields in autoware_launch param files can be overridden over the base file.
Possible approaches
I already opened a PR and demonstrated that sync-params can track and update the param files to the latest, while allowing override with # {OVERRIDE} or # {OVERRIDE: reason} markers.
autowarefoundation/autoware_launch#1812
(auto-PR result in personal fork: paulsohn/autoware_launch#14 )
One approach for registering sync-params to other categories (localization, planning, control, ...) involves these step: say you want to register localization param files:
- Register upstream - downstream pairs into
localization key of sync-params.yaml.
- Initially run
python3 .github/scripts/sync_params.py localization once
- Some downstream values might be overwritten from the upstream. Using git diff view of your IDE and identify such overwritten lines, revert it, and add
# {OVERRIDE} comment for each of them
- Run
python3 .github/scripts/sync_params.py localization again, confirm that # {OVERRIDE} marked lines are no longer updated
- Check locally with
python3 .github/scripts/sync_params.py localization --check
Definition of done
Note: making sync-params callable workflow is currently in a low priority as this is only used by autoware_launch, but I am open to the idea.
Checklist
Description
Automate autoware_universe (and possible other sources) -> autoware_launch param updating PRs.
Purpose
Currently every time autoware_universe param files has changed, the integration side (autoware_launch) needs to update the fields by manual PRs and drifts are not tracked. Similar to sync-files, automate the syncing process so that the autoware_universe param updates can be detected and auto-updated, while allowing certain fields in autoware_launch param files can be overridden over the base file.
Possible approaches
I already opened a PR and demonstrated that sync-params can track and update the param files to the latest, while allowing override with
# {OVERRIDE}or# {OVERRIDE: reason}markers.autowarefoundation/autoware_launch#1812
(auto-PR result in personal fork: paulsohn/autoware_launch#14 )
One approach for registering sync-params to other categories (localization, planning, control, ...) involves these step: say you want to register localization param files:
localizationkey of sync-params.yaml.python3 .github/scripts/sync_params.py localizationonce# {OVERRIDE}comment for each of thempython3 .github/scripts/sync_params.py localizationagain, confirm that# {OVERRIDE}marked lines are no longer updatedpython3 .github/scripts/sync_params.py localization --checkDefinition of done
check-paramsas required CI check for autoware_launch repository PRsNote: making sync-params callable workflow is currently in a low priority as this is only used by autoware_launch, but I am open to the idea.