Skip to content

Commit e29903f

Browse files
committed
chore: bump version to 1.9.0
2 parents 1604506 + f05f043 commit e29903f

434 files changed

Lines changed: 24022 additions & 5106 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/CODEOWNERS

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ api/autoware_adapi_specs/** isamu.takagi@tier4.jp ryohsuke.mitsudome@tier4.jp @a
44
api/autoware_core_api/** mfc@autoware.org ryohsuke.mitsudome@tier4.jp yutaka.kondo@tier4.jp @autowarefoundation/autoware-core-global-codeowners
55
api/autoware_default_adapi/** isamu.takagi@tier4.jp junya.sasaki@tier4.jp ryohsuke.mitsudome@tier4.jp yukihiro.saito@tier4.jp @autowarefoundation/autoware-core-global-codeowners
66
autoware_core/** mfc@autoware.org ryohsuke.mitsudome@tier4.jp yutaka.kondo@tier4.jp @autowarefoundation/autoware-core-global-codeowners
7-
common/autoware_agnocast_wrapper/** atsushi.yano.2@tier4.jp koichi.imai.2@tier4.jp sykwer@gmail.com @autowarefoundation/autoware-core-global-codeowners
7+
common/autoware_agnocast_wrapper/** atsushi.yano.2@tier4.jp koichi.imai.2@tier4.jp primenumber_2_3_5@yahoo.co.jp sykwer@gmail.com tetsuhiro.kawaguchi@tier4.jp yutaro.kobayashi.2@tier4.jp @autowarefoundation/autoware-core-global-codeowners
88
common/autoware_component_interface_specs/** isamu.takagi@tier4.jp ryohsuke.mitsudome@tier4.jp yukihiro.saito@tier4.jp @autowarefoundation/autoware-core-global-codeowners
99
common/autoware_geography_utils/** anh.nguyen.2@tier4.jp masahiro.sakamoto@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp @autowarefoundation/autoware-core-global-codeowners
1010
common/autoware_global_parameter_loader/** ryohsuke.mitsudome@tier4.jp @autowarefoundation/autoware-core-global-codeowners
@@ -22,6 +22,7 @@ common/autoware_qp_interface/** fumiya.watanabe@tier4.jp maxime.clement@tier4.jp
2222
common/autoware_signal_processing/** ali.boyali@tier4.jp fumiya.watanabe@tier4.jp kyoichi.sugahara@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp @autowarefoundation/autoware-core-global-codeowners
2323
common/autoware_trajectory/** alqudah.mohammad@tier4.jp arjun.ram@tier4.jp junya.sasaki@tier4.jp kosuke.takeuchi@tier4.jp mamoru.sobue@tier4.jp takayuki.murooka@tier4.jp takumi.odashima@tier4.jp yukinari.hisaki.2@tier4.jp @autowarefoundation/autoware-core-global-codeowners
2424
common/autoware_vehicle_info_utils/** egon.kang@autocore.ai mamoru.sobue@tier4.jp shumpei.wakabayashi@tier4.jp taiki.tanaka@tier4.jp tomoya.kimura@tier4.jp @autowarefoundation/autoware-core-global-codeowners
25+
control/autoware_command_gate/** junya.sasaki@tier4.jp @autowarefoundation/autoware-core-global-codeowners
2526
control/autoware_core_control/** mfc@autoware.org ryohsuke.mitsudome@tier4.jp yutaka.kondo@tier4.jp @autowarefoundation/autoware-core-global-codeowners
2627
control/autoware_simple_pure_pursuit/** kosuke.takeuchi@tier4.jp takayuki.murooka@tier4.jp yuki.takagi@tier4.jp @autowarefoundation/autoware-core-global-codeowners
2728
description/autoware_awsim_sensor_kit_description/** isamu.takagi@tier4.jp piotr.jaroszek@robotec.ai @autowarefoundation/autoware-core-global-codeowners

.github/sync-files.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
- source: .github/workflows/spell-check-daily.yaml
2222
pre-commands: |
2323
sd " with:\n" " with:\n local-cspell-json: .cspell.json\n" {source}
24+
- source: .github/workflows/sync-branches.yaml
2425
- source: .github/workflows/sync-files.yaml
2526
- source: .github/workflows/update-codeowners-from-packages.yaml
2627
pre-commands: |

.github/workflows/bump-version-pr.yaml

Lines changed: 137 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,40 @@
1+
# Workflow: bump-version-pr
2+
#
3+
# Opens a release PR that bumps the package versions and updates CHANGELOG.rst
4+
# files via catkin_tools (catkin_generate_changelog + catkin_prepare_release).
5+
#
6+
# Triggered manually via workflow_dispatch with the following inputs:
7+
# - base_version: version (git tag) to bump from. Defaults to the latest
8+
# semantic version tag in the repository.
9+
# - target_branch: branch the PR is opened against. Defaults to "main".
10+
# - version_part: which part of the semantic version to bump
11+
# (major / minor / patch).
12+
#
13+
# High-level flow:
14+
# 1. Check out a temporary working branch from the resolved base_version tag.
15+
# 2. Merge the target_branch into the working branch.
16+
# 3. Align package.xml versions to base_version and clear CHANGELOG.rst files
17+
# so catkin_generate_changelog / catkin_prepare_release do not fail on
18+
# packages whose versions have diverged from the base version.
19+
# 4. Run catkin_generate_changelog and catkin_prepare_release to bump the
20+
# version and regenerate changelogs.
21+
# 5. Push the result and open a PR against target_branch.
22+
123
name: bump-version-pr
224

325
on:
426
workflow_dispatch:
527
inputs:
28+
base_version:
29+
description: Version to bump from (defaults to the latest semantic version tag)
30+
required: false
31+
default: ""
32+
type: string
33+
target_branch:
34+
description: Branch to create the PR against
35+
required: false
36+
default: main
37+
type: string
638
version_part:
739
description: Which part of the version number to bump?
840
required: true
@@ -20,7 +52,6 @@ jobs:
2052
- name: Check out repository
2153
uses: actions/checkout@v4
2254
with:
23-
ref: humble
2455
fetch-depth: 0
2556

2657
- name: Generate token
@@ -44,37 +75,124 @@ jobs:
4475
run: pip3 install -U catkin_tools
4576
shell: bash
4677

47-
- name: Bump version from humble branch
48-
id: bump-version-from-humble-branch
78+
- name: Resolve base version
79+
id: resolve_base_version
80+
env:
81+
INPUT_BASE_VERSION: ${{ inputs.base_version }}
82+
run: |
83+
base_version="${INPUT_BASE_VERSION}"
84+
if [ -z "${base_version}" ]; then
85+
base_version=$(git tag --list --sort=-v:refname | grep -E '^[0-9]+\.[0-9]+\.[0-9]+$' | head -n 1)
86+
fi
87+
if [ -z "${base_version}" ]; then
88+
echo "Failed to resolve base version." >&2
89+
exit 1
90+
fi
91+
if ! git rev-parse --verify "refs/tags/${base_version}" >/dev/null 2>&1; then
92+
echo "Base version tag '${base_version}' does not exist." >&2
93+
exit 1
94+
fi
95+
echo "base_version=${base_version}" >> $GITHUB_OUTPUT
96+
shell: bash
97+
98+
- name: Bump version from base version
99+
id: bump_version
100+
env:
101+
BASE_VERSION: ${{ steps.resolve_base_version.outputs.base_version }}
102+
TARGET_BRANCH: ${{ inputs.target_branch }}
103+
VERSION_PART: ${{ inputs.version_part }}
49104
run: |
50-
git checkout -b tmp/bot/bump_version_base
51-
git fetch origin main
52-
git merge origin/main
105+
git checkout -b tmp/bot/bump_version_base "refs/tags/${BASE_VERSION}"
106+
git fetch origin "${TARGET_BRANCH}"
107+
git merge "origin/${TARGET_BRANCH}"
108+
109+
# For packages whose version diverged from BASE_VERSION:
110+
# - rewrite package.xml's <version> to BASE_VERSION, and
111+
# - delete the package's CHANGELOG.rst
112+
# so that catkin_generate_changelog / catkin_prepare_release do not
113+
# fail. Collect the affected package names so reviewers can see
114+
# which packages had their changelog reset.
115+
deleted_changelog_packages_file="${RUNNER_TEMP:-/tmp}/deleted_changelog_packages.txt"
116+
: > "${deleted_changelog_packages_file}"
117+
while IFS= read -r -d '' pkg; do
118+
current_version=$(sed -n 's:.*<version>\(.*\)</version>.*:\1:p' "${pkg}" | head -n 1)
119+
if [ "${current_version}" = "${BASE_VERSION}" ]; then
120+
continue
121+
fi
122+
sed -i "0,/<version>[^<]*<\/version>/s//<version>${BASE_VERSION}<\/version>/" "${pkg}"
123+
changelog="$(dirname "${pkg}")/CHANGELOG.rst"
124+
if [ -f "${changelog}" ]; then
125+
pkg_name=$(sed -n 's:.*<name>\(.*\)</name>.*:\1:p' "${pkg}" | head -n 1)
126+
[ -z "${pkg_name}" ] && pkg_name=$(dirname "${pkg}")
127+
echo "${pkg_name}" >> "${deleted_changelog_packages_file}"
128+
rm -f "${changelog}"
129+
fi
130+
done < <(find . -name package.xml -not -path "./.git/*" -print0)
131+
sort -u -o "${deleted_changelog_packages_file}" "${deleted_changelog_packages_file}"
132+
echo "deleted_changelog_packages_file=${deleted_changelog_packages_file}" >> $GITHUB_OUTPUT
133+
134+
if ! git diff --quiet; then
135+
git add -A
136+
git commit -m "chore: align package versions to ${BASE_VERSION} and reset changelogs"
137+
fi
138+
53139
catkin_generate_changelog -y
54-
git add *
140+
git add -A
55141
git commit -m "update CHANGELOG.rst"
56-
catkin_prepare_release -y --bump ${{ inputs.version_part }} --no-push
142+
catkin_prepare_release -y --bump "${VERSION_PART}" --no-push
57143
version=$(git describe --tags)
58144
echo "version=${version}" >> $GITHUB_OUTPUT
59145
shell: bash
60146

61147
- name: Create target branch
148+
env:
149+
TARGET_BRANCH: ${{ inputs.target_branch }}
150+
NEW_VERSION: ${{ steps.bump_version.outputs.version }}
62151
run: |
63-
git checkout origin/main
152+
git checkout "origin/${TARGET_BRANCH}"
64153
git checkout -b chore/bot/bump_version
65-
git merge tmp/bot/bump_version_base
154+
# Squash the working branch into a single commit so the PR has a
155+
# clean history (one commit for the bump) regardless of how many
156+
# intermediate commits catkin_prepare_release created.
157+
git merge --squash tmp/bot/bump_version_base
158+
git commit -m "chore: bump version to ${NEW_VERSION}"
66159
git push origin chore/bot/bump_version --force
67160
shell: bash
68161

162+
- name: Build PR body
163+
id: build_pr_body
164+
env:
165+
BASE_VERSION: ${{ steps.resolve_base_version.outputs.base_version }}
166+
NEW_VERSION: ${{ steps.bump_version.outputs.version }}
167+
DELETED_CHANGELOG_PACKAGES_FILE: ${{ steps.bump_version.outputs.deleted_changelog_packages_file }}
168+
run: |
169+
body_file="${RUNNER_TEMP:-/tmp}/pr_body.md"
170+
{
171+
echo "Bump version from \`${BASE_VERSION}\` to \`${NEW_VERSION}\`."
172+
echo
173+
if [ -s "${DELETED_CHANGELOG_PACKAGES_FILE}" ]; then
174+
printf "%s\n\n%s\n" \
175+
"## Packages whose \`CHANGELOG.rst\` was reset" \
176+
"The following packages had their \`CHANGELOG.rst\` deleted before regenerating changelogs (e.g. their version had diverged from \`${BASE_VERSION}\`). Please double-check the regenerated changelog entries for these packages:"
177+
while IFS= read -r pkg; do
178+
[ -z "${pkg}" ] && continue
179+
echo "- \`${pkg}\`"
180+
done < "${DELETED_CHANGELOG_PACKAGES_FILE}"
181+
fi
182+
} > "${body_file}"
183+
echo "body_file=${body_file}" >> $GITHUB_OUTPUT
184+
shell: bash
185+
69186
- name: Create PR
70-
id: create-pr
71-
run: >
72-
gh
73-
pr
74-
create
75-
--base=main
76-
--body="Bump version to ${{ steps.bump-version-from-humble-branch.outputs.version }}"
77-
--title="chore: bump version to ${{ steps.bump-version-from-humble-branch.outputs.version }}"
78-
--head=chore/bot/bump_version
187+
id: create_pr
79188
env:
80189
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
190+
TARGET_BRANCH: ${{ inputs.target_branch }}
191+
BODY_FILE: ${{ steps.build_pr_body.outputs.body_file }}
192+
NEW_VERSION: ${{ steps.bump_version.outputs.version }}
193+
run: |
194+
gh pr create \
195+
--base="${TARGET_BRANCH}" \
196+
--body-file="${BODY_FILE}" \
197+
--title="chore: bump version to ${NEW_VERSION}" \
198+
--head=chore/bot/bump_version

.github/workflows/json-schema-check.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
run-check: ${{ steps.paths_filter.outputs.json_or_yaml }}
1212
steps:
1313
- uses: actions/checkout@v4
14-
- uses: dorny/paths-filter@v3
14+
- uses: dorny/paths-filter@v4
1515
id: paths_filter
1616
with:
1717
filters: |
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# This file is automatically synced from:
2+
# https://github.com/autowarefoundation/sync-file-templates
3+
# To make changes, update the source repository and follow the guidelines in its README.
4+
5+
# Opens a PR that merges one branch of this repo into another (e.g. main -> humble).
6+
#
7+
# Trigger: manual (workflow_dispatch).
8+
# Inputs:
9+
# base-branch The branch the PR targets — i.e. the branch that receives changes. Default: humble.
10+
# sync-target-branch The branch the PR's contents come from. Default: main.
11+
# The PR working branch is derived as: sync-<sync-target-branch>-to-<base-branch>.
12+
#
13+
# Auth: uses a GitHub App token (APP_ID / PRIVATE_KEY secrets) so the PR can be
14+
# created/updated and so workflow files under .github/workflows/ can be synced
15+
# (the default GITHUB_TOKEN lacks the `workflow` scope).
16+
name: sync-branches
17+
18+
on:
19+
workflow_dispatch:
20+
inputs:
21+
base-branch:
22+
description: Base branch of the sync PR (the branch that receives changes).
23+
required: false
24+
default: humble
25+
type: string
26+
sync-target-branch:
27+
description: Branch or commit SHA to sync from (the source of changes).
28+
required: false
29+
default: main
30+
type: string
31+
32+
concurrency:
33+
group: ${{ github.workflow }}-${{ github.event_name }}-${{ inputs.sync-target-branch }}-${{ inputs.base-branch }}
34+
cancel-in-progress: true
35+
36+
jobs:
37+
sync-branches:
38+
runs-on: ubuntu-22.04
39+
steps:
40+
- name: Validate inputs and compute PR branch name
41+
id: prepare
42+
run: |
43+
if [ "${{ inputs.base-branch }}" = "${{ inputs.sync-target-branch }}" ]; then
44+
echo "::error::base-branch and sync-target-branch must differ (got '${{ inputs.base-branch }}')."
45+
exit 1
46+
fi
47+
echo "pr-branch=sync-${{ inputs.sync-target-branch }}-to-${{ inputs.base-branch }}" >> "$GITHUB_OUTPUT"
48+
shell: bash
49+
50+
- name: Generate token
51+
id: generate-token
52+
uses: actions/create-github-app-token@v2
53+
with:
54+
app-id: ${{ secrets.APP_ID }}
55+
private-key: ${{ secrets.PRIVATE_KEY }}
56+
57+
- name: Run sync-branches
58+
uses: autowarefoundation/autoware-github-actions/sync-branches@v1
59+
with:
60+
token: ${{ steps.generate-token.outputs.token }}
61+
base-branch: ${{ inputs.base-branch }}
62+
sync-pr-branch: ${{ steps.prepare.outputs.pr-branch }}
63+
sync-target-repository: https://github.com/${{ github.repository }}.git
64+
sync-target-branch: ${{ inputs.sync-target-branch }}
65+
pr-title: "chore: sync ${{ inputs.sync-target-branch }} into ${{ inputs.base-branch }}"
66+
pr-labels: |
67+
tag:bot
68+
tag:sync-branches

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,5 @@ log/
1616

1717
#prettier
1818
node_modules/
19+
.cache/
20+
lcov/

api/autoware_adapi_adaptors/CHANGELOG.rst

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,46 @@
22
Changelog for package autoware_adapi_adaptors
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

5+
1.9.0 (2026-06-24)
6+
------------------
7+
* Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
8+
* refactor(autoware_adapi_adaptors): extract pure helpers and add unit tests (`#1147 <https://github.com/autowarefoundation/autoware_core/issues/1147>`_)
9+
* refactor(autoware_adapi_adaptors): extract pure helpers and add unit tests
10+
Extract the previously inlined, node-coupled logic of the two RViz-to-AD-API
11+
adaptor nodes into small internal-only free/templated helpers so it can be
12+
unit-tested without spinning up a ROS node, and add the package's first test/
13+
directory:
14+
- vector_to_array<T,N>() in parameter_helper.hpp: the pure size-validating
15+
vector-to-array covariance parsing (throw branch is now testable).
16+
- decide_routing_action() in routing_state_machine.hpp: the on_timer
17+
merge-window/state-machine, returning the next action and updated counter.
18+
- set_goal() / append_waypoint() in route_builder.hpp: the route-request
19+
building rules, including the on_waypoint frame-mismatch guard.
20+
The public node API/ABI is unchanged; the callbacks now delegate to these
21+
helpers. Behavior is preserved: the covariance size-error message is identical
22+
for N=36, and the timer/route-building branches map one-to-one to the previous
23+
inline code.
24+
Refs: `autowarefoundation/autoware_core#1096 <https://github.com/autowarefoundation/autoware_core/issues/1096>`_
25+
* Potential fix for pull request finding
26+
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
27+
* refactor(autoware_adapi_adaptors): clarify helper naming per PR review
28+
Address review feedback on PR `#1147 <https://github.com/autowarefoundation/autoware_core/issues/1147>`_:
29+
- Rename the routing merge-window counter from request_timing_control to
30+
number_of_requests_for_timing_control across the extracted helper, the
31+
RoutingDecision struct, and the RoutingAdaptor member for an explicit name
32+
(sasakisasaki).
33+
- Rename vector_to_array's parameter from vector to values so it no longer
34+
reads like a type name (Copilot).
35+
The dimensionally-incorrect merge-window comment was already corrected in the
36+
preceding autofix commit. Verified with a Release build and the package gtest
37+
suite in the core-devel-jazzy container (37 cases, 0 failures).
38+
* modify naming
39+
---------
40+
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
41+
Co-authored-by: Takagi, Isamu <isamu.takagi@tier4.jp>
42+
Co-authored-by: Junya Sasaki <j2sasaki1990@gmail.com>
43+
* Contributors: Yutaka Kondo, github-actions
44+
545
1.8.0 (2026-05-01)
646
------------------
747

api/autoware_adapi_adaptors/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,10 @@ rclcpp_components_register_node(${PROJECT_NAME}
2121
EXECUTOR SingleThreadedExecutor
2222
)
2323

24+
if(BUILD_TESTING)
25+
ament_auto_add_gtest(test_${PROJECT_NAME}
26+
test/test_helpers.cpp
27+
)
28+
endif()
29+
2430
autoware_ament_auto_package(INSTALL_TO_SHARE config launch)

api/autoware_adapi_adaptors/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
33
<package format="3">
44
<name>autoware_adapi_adaptors</name>
5-
<version>1.8.0</version>
5+
<version>1.9.0</version>
66
<description>The adapi_adaptors package</description>
77
<maintainer email="isamu.takagi@tier4.jp">Takagi, Isamu</maintainer>
88
<maintainer email="ryohsuke.mitsudome@tier4.jp">Ryohsuke Mitsudome</maintainer>

api/autoware_adapi_adaptors/src/initial_pose_adaptor.cpp

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414

1515
#include "initial_pose_adaptor.hpp"
1616

17+
#include "parameter_helper.hpp"
18+
1719
#include <autoware/qos_utils/qos_compatibility.hpp>
1820

1921
#include <memory>
@@ -27,13 +29,7 @@ using Future = typename rclcpp::Client<ServiceT>::SharedFuture;
2729

2830
std::array<double, 36> get_covariance_parameter(rclcpp::Node * node, const std::string & name)
2931
{
30-
const auto vector = node->declare_parameter<std::vector<double>>(name);
31-
if (vector.size() != 36) {
32-
throw std::invalid_argument("The covariance parameter size is not 36.");
33-
}
34-
std::array<double, 36> array;
35-
std::copy_n(vector.begin(), array.size(), array.begin());
36-
return array;
32+
return vector_to_array<double, 36>(node->declare_parameter<std::vector<double>>(name));
3733
}
3834

3935
InitialPoseAdaptor::InitialPoseAdaptor(const rclcpp::NodeOptions & options)

0 commit comments

Comments
 (0)