forked from autowarefoundation/autoware_launch
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #349 from tier4/sync-upstream
chore: sync upstream
- Loading branch information
Showing
44 changed files
with
377 additions
and
585 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
- repository: autowarefoundation/autoware_launch | ||
files: | ||
- source: autoware_launch/launch/autoware.launch.xml | ||
- source: autoware_launch/launch/e2e_simulator.launch.xml | ||
- source: autoware_launch/launch/logging_simulator.launch.xml | ||
- source: autoware_launch/launch/planning_simulator.launch.xml | ||
- source: autoware_launch/launch/pointcloud_container.launch.py | ||
- source: autoware_launch/rviz/autoware.rviz | ||
- source: autoware_launch/rviz/image/autoware.png | ||
- source: autoware_launch/CMakeLists.txt | ||
- source: autoware_launch/README.md | ||
- source: autoware_launch/autoware_launch.drawio.svg | ||
- source: autoware_launch/package.xml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
import argparse | ||
import dataclasses | ||
from pathlib import Path | ||
from typing import List | ||
from typing import Optional | ||
|
||
import git | ||
|
||
""" | ||
This module updates `sync-param-files.yaml` based on the launch parameter files in `autoware.universe`. | ||
""" | ||
|
||
REPO_NAME = "autowarefoundation/autoware.universe" | ||
REPO_URL = f"https://github.com/{REPO_NAME}.git" | ||
CLONE_PATH = Path("/tmp/autoware.universe") | ||
|
||
|
||
@dataclasses.dataclass | ||
class FileSyncConfig: | ||
source: str | ||
dest: str | ||
replace: Optional[bool] = None | ||
delete_orphaned: Optional[bool] = None | ||
pre_commands: Optional[str] = None | ||
post_commands: Optional[str] = None | ||
|
||
|
||
def create_tier4_launch_sync_configs(tier4_launch_package_path: Path) -> List[FileSyncConfig]: | ||
launch_package_name = tier4_launch_package_path.name | ||
launch_config_path = tier4_launch_package_path / "config" | ||
|
||
sync_configs = [] | ||
for param_file_path in tier4_launch_package_path.glob("config/**/*.param.yaml"): | ||
relative_param_file_path = param_file_path.relative_to(launch_config_path) | ||
|
||
source = param_file_path.relative_to(CLONE_PATH) | ||
dest = Path("autoware_launch/config") / launch_package_name / relative_param_file_path | ||
|
||
sync_configs.append(FileSyncConfig(str(source), str(dest))) | ||
|
||
return sync_configs | ||
|
||
|
||
def dump_sync_config(section_name: str, sync_configs: List[FileSyncConfig]) -> List[str]: | ||
indent = 4 * " " | ||
lines = [f"{indent}# {section_name}\n"] | ||
for sync_config in sync_configs: | ||
lines.append(f"{indent}- source: {sync_config.source}\n") | ||
lines.append(f"{indent} dest: {sync_config.dest}\n") | ||
lines.append("\n") | ||
return lines | ||
|
||
|
||
def main(): | ||
parser = argparse.ArgumentParser() | ||
parser.add_argument("sync_param_files_path", type=Path, help="path to sync-param-files.yaml") | ||
args = parser.parse_args() | ||
|
||
# Clone Autoware | ||
if not CLONE_PATH.exists(): | ||
git.Repo.clone_from(REPO_URL, CLONE_PATH) | ||
|
||
# Create sync config for tier4_*_launch | ||
tier4_launch_package_paths = sorted( | ||
CLONE_PATH.glob("launch/tier4_*_launch"), key=lambda p: p.name | ||
) | ||
tier4_launch_sync_configs_map = { | ||
p.name: create_tier4_launch_sync_configs(p) for p in tier4_launch_package_paths | ||
} | ||
|
||
# Create sync-param-files.yaml | ||
with open(args.sync_param_files_path, "w") as f: | ||
f.write(f"- repository: {REPO_NAME}\n") | ||
f.write(" files:\n") | ||
for section_name, sync_config in tier4_launch_sync_configs_map.items(): | ||
f.writelines(dump_sync_config(section_name, sync_config)) | ||
|
||
|
||
if __name__ == "__main__": | ||
main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
name: sync-launch-files | ||
|
||
on: | ||
schedule: | ||
- cron: 0 0 * * * | ||
workflow_dispatch: | ||
|
||
jobs: | ||
check-secret: | ||
uses: autowarefoundation/autoware-github-actions/.github/workflows/check-secret.yaml@v1 | ||
secrets: | ||
secret: ${{ secrets.APP_ID }} | ||
|
||
sync-files: | ||
needs: check-secret | ||
if: ${{ needs.check-secret.outputs.set == 'true' }} | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Generate token | ||
id: generate-token | ||
uses: tibdex/github-app-token@v1 | ||
with: | ||
app_id: ${{ secrets.APP_ID }} | ||
private_key: ${{ secrets.PRIVATE_KEY }} | ||
|
||
- name: Run sync-files | ||
uses: autowarefoundation/autoware-github-actions/sync-files@v1 | ||
with: | ||
token: ${{ steps.generate-token.outputs.token }} | ||
config: .github/sync-launch-files.yaml | ||
pr-branch: sync-launch-files | ||
pr-title: "chore: sync launch files" | ||
pr-commit-message: "chore: sync launch files" | ||
pr-labels: | | ||
bot | ||
sync-launch-files | ||
auto-merge-method: squash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
name: update-sync-param-files | ||
|
||
on: | ||
schedule: | ||
- cron: 0 0 * * * | ||
workflow_dispatch: | ||
|
||
jobs: | ||
update-sync-param-files: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Generate token | ||
id: generate-token | ||
uses: tibdex/github-app-token@v1 | ||
with: | ||
app_id: ${{ secrets.APP_ID }} | ||
private_key: ${{ secrets.PRIVATE_KEY }} | ||
|
||
- name: Check out repository | ||
uses: actions/checkout@v3 | ||
|
||
- name: Install GitPython | ||
run: | | ||
pip3 install GitPython | ||
shell: bash | ||
|
||
- name: Generate sync-param-files.yaml | ||
run: | | ||
python3 .github/update-sync-param-files.py .github/sync-param-files.yaml | ||
- name: Create PR | ||
id: create-pr | ||
uses: peter-evans/create-pull-request@v4 | ||
with: | ||
token: ${{ steps.generate-token.outputs.token }} | ||
base: ${{ github.event.repository.default_branch }} | ||
branch: update-sync-param-files | ||
title: "chore: update sync-param-files.yaml" | ||
commit-message: "chore: update sync-param-files.yaml" | ||
body: ${{ steps.create-pr-body.outputs.body }} | ||
|
||
- name: Check outputs | ||
run: | | ||
echo "Pull Request Number - ${{ steps.create-pr.outputs.pull-request-number }}" | ||
echo "Pull Request URL - ${{ steps.create-pr.outputs.pull-request-url }}" | ||
shell: bash | ||
|
||
- name: Enable auto-merge | ||
if: ${{ steps.create-pr.outputs.pull-request-operation == 'created' }} | ||
uses: peter-evans/enable-pull-request-automerge@v2 | ||
with: | ||
token: ${{ steps.generate-token.outputs.token }} | ||
pull-request-number: ${{ steps.create-pr.outputs.pull-request-number }} | ||
merge-method: squash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.