diff --git a/.github/CODEOWNERS b/.github/_CODEOWNERS
similarity index 100%
rename from .github/CODEOWNERS
rename to .github/_CODEOWNERS
diff --git a/.github/workflows/beta-to-tier4-main-sync.yaml b/.github/workflows/beta-to-tier4-main-sync.yaml
new file mode 100644
index 0000000000000..53f40f1e811ab
--- /dev/null
+++ b/.github/workflows/beta-to-tier4-main-sync.yaml
@@ -0,0 +1,34 @@
+name: beta-to-tier4-main-sync
+
+on:
+ workflow_dispatch:
+ inputs:
+ source_branch:
+ description: Source branch
+ required: true
+ type: string
+
+jobs:
+ sync-beta-branch:
+ 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-branches
+ uses: autowarefoundation/autoware-github-actions/sync-branches@v1
+ with:
+ token: ${{ steps.generate-token.outputs.token }}
+ base-branch: tier4/main
+ sync-pr-branch: beta-to-tier4-main-sync
+ sync-target-repository: https://github.com/tier4/autoware.universe.git
+ sync-target-branch: ${{ inputs.source_branch }}
+ pr-title: "chore: sync beta branch ${{ inputs.source_branch }} with tier4/main"
+ pr-labels: |
+ bot
+ sync-beta-branch
+ auto-merge-method: merge
diff --git a/.github/workflows/comment-on-pr.yaml b/.github/workflows/comment-on-pr.yaml
index 0f2ecf519db11..3fba91f6ea3dc 100644
--- a/.github/workflows/comment-on-pr.yaml
+++ b/.github/workflows/comment-on-pr.yaml
@@ -3,8 +3,13 @@
# To make changes, update the source repository and follow the guidelines in its README.
name: comment-on-pr
+
on:
- pull_request_target:
+ pull_request:
+ types:
+ - opened
+ branches:
+ - beta/v0.[0-9]+.[1-9]+
jobs:
comment-on-pr:
@@ -12,18 +17,15 @@ jobs:
permissions:
pull-requests: write
steps:
- - name: Check out repository
- uses: actions/checkout@v4
-
- - name: Initial PR comment
- uses: marocchino/sticky-pull-request-comment@v2
- with:
- message: |
- Thank you for contributing to the Autoware project!
-
- 🚧 If your pull request is in progress, [switch it to draft mode](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request#converting-a-pull-request-to-a-draft).
-
- Please ensure:
- - You've checked our [contribution guidelines](https://autowarefoundation.github.io/autoware-documentation/main/contributing/).
- - Your PR follows our [pull request guidelines](https://autowarefoundation.github.io/autoware-documentation/main/contributing/pull-request-guidelines/).
- - All required CI checks pass before [marking the PR ready for review](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request#marking-a-pull-request-as-ready-for-review).
+ - name: Create comments
+ run: |
+ cat << EOF > comments
+ ### Merging guidelines for the beta branch
+ Please use `Squash and merge` as the default.
+ However, when incorporating multiple changes with cherry-pick, use a `Create a merge commit` to preserve the changes in the history.
+ EOF
+ - name: Post comments
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ URL: ${{ github.event.pull_request.html_url }}
+ run: gh pr comment -F ./comments "${URL}"
diff --git a/.github/workflows/dispatch-push-event.yaml b/.github/workflows/dispatch-push-event.yaml
new file mode 100644
index 0000000000000..492083c8038f6
--- /dev/null
+++ b/.github/workflows/dispatch-push-event.yaml
@@ -0,0 +1,45 @@
+name: dispatch-push-event
+on:
+ push:
+
+jobs:
+ search-dispatch-repo:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ include:
+ - { version: beta/v0.3.**, dispatch-repo: pilot-auto.x1.eve }
+ outputs:
+ dispatch-repo: ${{ steps.search-dispatch-repo.outputs.value }}
+ steps:
+ - name: Search dispatch repo
+ id: search-dispatch-repo
+ run: |
+ if [[ ${{ github.ref_name }} =~ ${{ matrix.version }} ]]; then
+ echo ::set-output name=value::"${{ matrix.dispatch-repo }}"
+ echo "Detected beta branch: ${{ github.ref_name }}"
+ echo "Dispatch repository: ${{ matrix.dispatch-repo }}"
+ fi
+
+ dispatch-push-event:
+ runs-on: ubuntu-latest
+ needs: search-dispatch-repo
+ if: ${{ needs.search-dispatch-repo.outputs.dispatch-repo != '' }}
+ steps:
+ - name: Generate token
+ id: generate-token
+ uses: tibdex/github-app-token@v1
+ with:
+ app_id: ${{ secrets.INTERNAL_APP_ID }}
+ private_key: ${{ secrets.INTERNAL_PRIVATE_KEY }}
+
+ # 注意: workflow_dispatchで指定するブランチはmain固定となっているため、dispatch-repoのmainブランチにupdate-beta-branch.yamlが存在することが前提条件。
+ - name: Dispatch the update-beta-branch workflow
+ run: |
+ curl -L \
+ -X POST \
+ -H "Accept: application/vnd.github+json" \
+ -H "Authorization: Bearer ${{ steps.generate-token.outputs.token }}" \
+ -H "X-GitHub-Api-Version: 2022-11-28" \
+ https://api.github.com/repos/tier4/${{ needs.search-dispatch-repo.outputs.dispatch-repo }}/actions/workflows/update-beta-branch.yaml/dispatches \
+ -d '{"ref":"main"}'
diff --git a/.github/workflows/dispatch-release-note.yaml b/.github/workflows/dispatch-release-note.yaml
new file mode 100644
index 0000000000000..0245e2b929cd8
--- /dev/null
+++ b/.github/workflows/dispatch-release-note.yaml
@@ -0,0 +1,46 @@
+name: dispatch-release-note
+on:
+ push:
+ branches:
+ - beta/v*
+ - tier4/main
+ tags:
+ - v*
+ workflow_dispatch:
+ inputs:
+ beta-branch-or-tag-name:
+ description: The name of the beta branch or tag to write release note
+ type: string
+ required: true
+jobs:
+ dispatch-release-note:
+ runs-on: ubuntu-latest
+ name: release-repository-dispatch
+ steps:
+ - name: Set tag name
+ id: set-tag-name
+ run: |
+ if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
+ REF_NAME="${{ github.event.inputs.beta-branch-or-tag-name }}"
+ else
+ REF_NAME="${{ github.ref_name }}"
+ fi
+ echo ::set-output name=ref-name::"$REF_NAME"
+ echo ::set-output name=tag-name::"${REF_NAME#beta/}"
+
+ - name: Generate token
+ id: generate-token
+ uses: tibdex/github-app-token@v1
+ with:
+ app_id: ${{ secrets.APP_ID }}
+ private_key: ${{ secrets.PRIVATE_KEY }}
+
+ - name: Repository dispatch for release note
+ run: |
+ curl \
+ -X POST \
+ -H "Accept: application/vnd.github+json" \
+ -H "Authorization: token ${{ steps.generate-token.outputs.token }}" \
+ -H "X-GitHub-Api-Version: 2022-11-28" \
+ "https://api.github.com/repos/tier4/update-release-notes/dispatches" \
+ -d '{"event_type":"${{ steps.set-tag-name.outputs.ref-name }}"}'
diff --git a/.github/workflows/slack-send.yaml b/.github/workflows/slack-send.yaml
new file mode 100644
index 0000000000000..973b08674f7e8
--- /dev/null
+++ b/.github/workflows/slack-send.yaml
@@ -0,0 +1,25 @@
+name: slack-send
+on:
+ workflow_run:
+ workflows:
+ - build-and-test
+ types:
+ - completed
+
+jobs:
+ on-failure:
+ if: ${{ github.event.workflow_run.conclusion == 'failure' }}
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check out repository
+ uses: actions/checkout@v3
+
+ - name: Send to Slack workflow
+ uses: slackapi/slack-github-action@v1
+ with:
+ payload: |
+ {
+ "workflow-url": "${{ github.event.workflow_run.html_url }}"
+ }
+ env:
+ SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WORKFLOW_WEBHOOK_URL }}
diff --git a/.github/workflows/sync-awf-latest.yaml b/.github/workflows/sync-awf-latest.yaml
new file mode 100644
index 0000000000000..8f52b297fce40
--- /dev/null
+++ b/.github/workflows/sync-awf-latest.yaml
@@ -0,0 +1,30 @@
+name: sync-awf-latest
+
+on:
+ schedule:
+ - cron: 50 */1 * * * # every 1 hour (**:50)
+ workflow_dispatch:
+
+jobs:
+ sync-awf-latest:
+ 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-branches
+ uses: autowarefoundation/autoware-github-actions/sync-branches@v1
+ with:
+ token: ${{ steps.generate-token.outputs.token }}
+ base-branch: awf-latest
+ sync-pr-branch: sync-awf-latest
+ sync-target-repository: https://github.com/autowarefoundation/autoware.universe.git
+ sync-target-branch: main
+ pr-title: "chore: sync awf-latest"
+ pr-labels: |
+ bot
+ auto-merge-method: merge
diff --git a/.github/workflows/sync-upstream.yaml b/.github/workflows/sync-upstream.yaml
new file mode 100644
index 0000000000000..978ae00a06e20
--- /dev/null
+++ b/.github/workflows/sync-upstream.yaml
@@ -0,0 +1,49 @@
+name: sync-upstream
+
+on:
+ workflow_dispatch:
+ inputs:
+ target_branch:
+ description: Target branch
+ required: true
+ type: string
+
+jobs:
+ sync-upstream:
+ 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 }}
+
+ - uses: actions/setup-node@v3
+ with:
+ node-version: 16
+
+ - run: npm install @holiday-jp/holiday_jp
+
+ - uses: actions/github-script@v6
+ id: is-holiday
+ with:
+ script: |
+ const holiday_jp = require(`${process.env.GITHUB_WORKSPACE}/node_modules/@holiday-jp/holiday_jp`)
+ core.setOutput('holiday', holiday_jp.isHoliday(new Date()));
+ - name: Print warning for invalid branch name
+ if: ${{ inputs.target_branch == 'tier4/main' }}
+ run: |
+ echo This action cannot be performed on 'tier4/main' branch
+
+ - name: Run sync-branches
+ if: ${{ inputs.target_branch != 'tier4/main' }}
+ uses: autowarefoundation/autoware-github-actions/sync-branches@v1
+ with:
+ token: ${{ steps.generate-token.outputs.token }}
+ base-branch: ${{ inputs.target_branch }}
+ sync-pr-branch: sync-upstream
+ sync-target-repository: https://github.com/tier4/autoware.universe.git
+ sync-target-branch: awf-latest
+ pr-title: "chore: sync tier4/autoware.universe:awf-latest"
+ auto-merge-method: merge
diff --git a/.pre-commit-config-optional.yaml b/.pre-commit-config-optional.yaml
index f0b5bdba2d24d..2b16d4372c00f 100644
--- a/.pre-commit-config-optional.yaml
+++ b/.pre-commit-config-optional.yaml
@@ -11,7 +11,7 @@ ci:
repos:
- repo: https://github.com/tcort/markdown-link-check
- rev: v3.12.2
+ rev: v3.13.6
hooks:
- id: markdown-link-check
args: [--quiet, --config=.markdown-link-check.json]
diff --git a/planning/behavior_velocity_planner/autoware_behavior_velocity_traffic_light_module/config/traffic_light.param.yaml b/planning/behavior_velocity_planner/autoware_behavior_velocity_traffic_light_module/config/traffic_light.param.yaml
index 253fb69043f7c..3b7b2a0de790d 100644
--- a/planning/behavior_velocity_planner/autoware_behavior_velocity_traffic_light_module/config/traffic_light.param.yaml
+++ b/planning/behavior_velocity_planner/autoware_behavior_velocity_traffic_light_module/config/traffic_light.param.yaml
@@ -8,3 +8,9 @@
yellow_light_stop_velocity: 1.0 # Velocity threshold (m/s) below which the vehicle will always stop before the traffic light when the signal turns yellow, regardless of the pass_judge decision.
enable_pass_judge: true
enable_rtc: false # If set to true, the scene modules require approval from the rtc (request to cooperate) function. If set to false, the modules can be executed without requiring rtc approval
+
+ v2i:
+ use_rest_time: false
+ last_time_allowed_to_pass: 2.0 # relative time against at the time of turn to red
+ velocity_threshold: 0.5 # change the decision logic whether the current velocity is faster or not
+ required_time_to_departure: 3.0 # prevent low speed pass
diff --git a/planning/behavior_velocity_planner/autoware_behavior_velocity_traffic_light_module/package.xml b/planning/behavior_velocity_planner/autoware_behavior_velocity_traffic_light_module/package.xml
index 0923e9645b53e..745c5d2a23b80 100644
--- a/planning/behavior_velocity_planner/autoware_behavior_velocity_traffic_light_module/package.xml
+++ b/planning/behavior_velocity_planner/autoware_behavior_velocity_traffic_light_module/package.xml
@@ -31,6 +31,7 @@
autoware_utils
eigen
geometry_msgs
+ jpn_signal_v2i_msgs
pluginlib
rclcpp
tf2