Skip to content

Commit 67aa556

Browse files
Merge pull request #75 from googlemaps/release-maui-07012026
chore(repo): update formatting and dir names, configure CI/CD pipelines with dependabot configs and semantic release, and add attribution fallbacks
2 parents 08946f2 + f9cbeb8 commit 67aa556

22 files changed

Lines changed: 6674 additions & 697 deletions

File tree

.github/dependabot.yml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,22 @@ updates:
44
directory: "/client/web"
55
schedule:
66
interval: "weekly"
7+
open-pull-requests-limit: 0
8+
cooldown:
9+
default-days: 7
10+
711
- package-ecosystem: "pip"
8-
directory: "/agent/python-agent"
12+
directory: "/agent/python_agent"
913
schedule:
1014
interval: "weekly"
15+
open-pull-requests-limit: 0
16+
cooldown:
17+
default-days: 7
18+
1119
- package-ecosystem: "github-actions"
1220
directory: "/"
1321
schedule:
14-
interval: "weekly"
22+
interval: "weekly"
23+
open-pull-requests-limit: 0
24+
cooldown:
25+
default-days: 7

.github/release-please-config.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"packages": {
3+
"client/web": {
4+
"release-type": "node",
5+
"package-name": "@googlemaps/a2ui"
6+
}
7+
}
8+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"client/web": "0.1.7"
3+
}

.github/workflows/python-ci.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,26 +11,25 @@ jobs:
1111
runs-on: ubuntu-latest
1212
steps:
1313
- uses: actions/checkout@v4
14-
1514
- name: Install uv
1615
uses: astral-sh/setup-uv@v5
1716
with:
1817
enable-cache: true
19-
cache-dependency-glob: "agent/python-agent/uv.lock"
18+
cache-dependency-glob: "agent/python_agent/uv.lock"
2019

2120
- name: Set up Python
2221
run: uv python install
2322

2423
- name: Install dependencies
2524
run: uv sync --all-groups
26-
working-directory: agent/python-agent
25+
working-directory: agent/python_agent
2726

2827
- name: Type check with pyright
2928
run: uv run --frozen pyright
30-
working-directory: agent/python-agent
29+
working-directory: agent/python_agent
3130
continue-on-error: true
3231

3332
- name: Lint with ruff
3433
run: uv run --frozen ruff check .
35-
working-directory: agent/python-agent
34+
working-directory: agent/python_agent
3635
continue-on-error: true
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# Copyright 2026 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
## Runs the release-please action for all new pushes to the main branch.
16+
## This will create new release-PRs, create GitHub releases and update
17+
## the CHANGELOG.md.
18+
19+
# Disabled automatic pushes to prevent conflict with semantic-release.
20+
# Can still be triggered manually via Actions UI if needed.
21+
on:
22+
workflow_dispatch:
23+
24+
permissions:
25+
contents: write
26+
pull-requests: write
27+
28+
name: Release Please
29+
30+
jobs:
31+
release-please:
32+
runs-on: ubuntu-latest
33+
steps:
34+
- id: release
35+
name: Release Please
36+
uses: googleapis/release-please-action@16a9c90856f42705d54a6fda1823352bdc62cf38 # v4.4.0
37+
38+
39+
with:
40+
token: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }}
41+
config-file: .github/release-please-config.json
42+
manifest-file: .github/release-please-manifest.json
43+
44+
# Everything below is for NPM publishing when a release is cut.
45+
# Note the "if" statement on all commands to make sure that publishing
46+
# only happens when a release is cut.
47+
48+
- if: ${{ steps.release.outputs.release_created }}
49+
name: Checkout
50+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
51+
52+
53+
- if: ${{ steps.release.outputs.release_created }}
54+
name: Setup Node for Dependency Installation
55+
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1
56+
57+
with:
58+
node-version: 22
59+
cache: npm
60+
cache-dependency-path: client/web/package-lock.json
61+
62+
- if: ${{ steps.release.outputs.release_created }}
63+
name: Install Dependencies
64+
working-directory: client/web
65+
run: npm ci
66+
67+
# Now configure node with the registry used for publishing
68+
- if: ${{ steps.release.outputs.release_created }}
69+
name: Setup Node for Publishing
70+
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1
71+
72+
with:
73+
node-version: 20
74+
registry-url: "https://wombat-dressing-room.appspot.com/"
75+
76+
- if: ${{ steps.release.outputs.release_created }}
77+
name: Publish
78+
# npm publish will trigger the build via the prepack hook
79+
working-directory: client/web
80+
run: npm publish
81+
env:
82+
NODE_AUTH_TOKEN: ${{ secrets.NPM_WOMBAT_TOKEN }}

.github/workflows/release.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Copyright 2026 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
## Runs the semantic-release action for all new pushes to the main branch.
16+
## This will create new release tags, create GitHub releases, publish the
17+
## NPM package, and update the CHANGELOG.md.
18+
19+
on:
20+
push:
21+
branches: [main]
22+
23+
permissions:
24+
contents: write
25+
issues: write
26+
pull-requests: write
27+
28+
name: Release
29+
30+
jobs:
31+
release:
32+
runs-on: ubuntu-latest
33+
steps:
34+
- name: Checkout
35+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
36+
37+
with:
38+
token: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }}
39+
fetch-depth: 0
40+
41+
- name: Setup Node for Dependency Installation
42+
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1
43+
44+
with:
45+
node-version: 22
46+
cache: npm
47+
cache-dependency-path: client/web/package-lock.json
48+
49+
- name: Install dependencies
50+
working-directory: client/web
51+
run: npm ci
52+
53+
- name: Setup Node for Publishing
54+
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1
55+
56+
with:
57+
node-version: 20
58+
registry-url: "https://wombat-dressing-room.appspot.com/"
59+
60+
- name: Run Semantic Release
61+
env:
62+
GITHUB_TOKEN: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }}
63+
NPM_TOKEN: ${{ secrets.NPM_WOMBAT_TOKEN }}
64+
NODE_PATH: ${{ github.workspace }}/client/web/node_modules
65+
run: npx semantic-release

.releaserc.json

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"branches": [
3+
"main"
4+
],
5+
"plugins": [
6+
"@semantic-release/commit-analyzer",
7+
"@semantic-release/release-notes-generator",
8+
"@semantic-release/changelog",
9+
[
10+
"@semantic-release/npm",
11+
{
12+
"pkgRoot": "client/web"
13+
}
14+
],
15+
[
16+
"@semantic-release/git",
17+
{
18+
"assets": [
19+
"client/web/package.json",
20+
"client/web/package-lock.json",
21+
"CHANGELOG.md"
22+
],
23+
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
24+
}
25+
],
26+
"@semantic-release/github"
27+
]
28+
}

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ dependencies = [
9898
]
9999

100100
[tool.uv.sources]
101-
maui-a2ui-python = { path = "path/to/a2ui/agent/python-agent" }
101+
maui-a2ui-python = { path = "path/to/a2ui/agent/python_agent" }
102102
```
103103

104104
#### 2. Import and Use
@@ -245,7 +245,7 @@ return (
245245
surface={surface}
246246
></a2ui-surface>
247247
</div>
248-
);
248+
);
249249
}
250250
}}
251251
</maui-providers>
@@ -295,9 +295,9 @@ Agentic UI Toolkit requires an API Key to use Google Maps Platform products. To
295295

296296
Your API Key must have the following APIs enabled in the [Google Cloud Console](https://console.cloud.google.com/apis/credentials):
297297

298-
* Geocoding API
299-
* Maps JavaScript API
300-
* Places UI Kit
298+
* Geocoding API
299+
* Maps JavaScript API
300+
* Places UI Kit
301301
* Routes API
302302

303303
To use Grounding Lite MCP, you must also enable:
@@ -314,10 +314,10 @@ Agentic UI Toolkit requires features available in the Alpha channel. You must us
314314

315315
Use of Agentic UI Toolkit requires several [Maps JavaScript API libraries](https://developers.google.com/maps/documentation/javascript/libraries). When loading the Google Maps JavaScript API, you must include the following libraries:
316316

317-
* maps
318-
* maps3d
319-
* marker
320-
* places
317+
* maps
318+
* maps3d
319+
* marker
320+
* places
321321
* routes
322322

323323
### Gemini API Key
@@ -332,7 +332,7 @@ This key must be exported or contained within a `.env` file as `GEMINI_API_KEY`
332332

333333
## Accessing Google Maps grounding data
334334

335-
Your agent can access Google Maps grounding data in two ways, depending on your project setup and needs:
335+
Your agent can access Google Maps grounding data in two ways, depending on your project setup and needs:
336336

337337
1. [Grounding Lite MCP](https://developers.google.com/maps/ai/grounding-lite)
338338
2. [Grounding with Google Maps](https://docs.cloud.google.com/vertex-ai/generative-ai/docs/grounding/grounding-with-google-maps)
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ dependencies = [
2323
]
2424

2525
[tool.uv.sources]
26-
maui-a2ui-python = { path = "path/to/a2ui/agent/python-agent" }
26+
maui-a2ui-python = { path = "path/to/a2ui/agent/python_agent" }
2727
```
2828

2929
### 2. Import and Use
@@ -116,9 +116,9 @@ Agentic UI Toolkit requires an API Key to use Google Maps Platform products. To
116116

117117
Your API Key must have the following APIs enabled in the [Google Cloud Console](https://console.cloud.google.com/apis/credentials):
118118

119-
* Geocoding API
120-
* Maps JavaScript API
121-
* Places UI Kit
119+
* Geocoding API
120+
* Maps JavaScript API
121+
* Places UI Kit
122122
* Routes API
123123

124124
To use Grounding Lite MCP, you must also enable:
@@ -135,10 +135,10 @@ Agentic UI Toolkit requires features available in the Alpha channel. You must us
135135

136136
Use of Agentic UI Toolkit requires several [Maps JavaScript API libraries](https://developers.google.com/maps/documentation/javascript/libraries). When loading the Google Maps JavaScript API, you must include the following libraries:
137137

138-
* maps
139-
* maps3d
140-
* marker
141-
* places
138+
* maps
139+
* maps3d
140+
* marker
141+
* places
142142
* routes
143143

144144
### Gemini API Key
@@ -153,7 +153,7 @@ This key must be exported or contained within a `.env` file as `GEMINI_API_KEY`
153153

154154
## Accessing Google Maps grounding data
155155

156-
Your agent can access Google Maps grounding data in two ways, depending on your project setup and needs:
156+
Your agent can access Google Maps grounding data in two ways, depending on your project setup and needs:
157157

158158
1. [Grounding Lite MCP](https://developers.google.com/maps/ai/grounding-lite)
159159
2. [Grounding with Google Maps](https://docs.cloud.google.com/vertex-ai/generative-ai/docs/grounding/grounding-with-google-maps)

0 commit comments

Comments
 (0)