Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@

# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners

.github/ @googlemaps/admin
.github/ @googlemaps/googlemaps-admin
4 changes: 2 additions & 2 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@
version: 2
updates:
- package-ecosystem: gradle
directory: "/./ApiDemos/java"
directory: "/./ApiDemos/project/java-app"
schedule:
interval: "weekly"
open-pull-requests-limit: 10
commit-message:
prefix: chore(deps)
- package-ecosystem: gradle
directory: "/./ApiDemos/kotlin"
directory: "/./ApiDemos/project/kotlin-app"
schedule:
interval: "weekly"
open-pull-requests-limit: 10
Expand Down
1 change: 0 additions & 1 deletion .github/header-checker-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ sourceFileExtensions:
- 'ts'
- 'js'
- 'java'
- 'html'
- 'txt'
- 'kt'
- 'kts'
Expand Down
98 changes: 68 additions & 30 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2020 Google LLC
# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand All @@ -23,8 +23,6 @@ on:
branches: [ '*' ]
repository_dispatch:
types: [ build ]
schedule:
- cron: '0 0 * * 1'
workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
Expand All @@ -34,86 +32,126 @@ jobs:
timeout-minutes: 45

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: set up Java 21
uses: actions/setup-java@v2
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '21'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5

- name: Build and check
run: |
cd ApiDemos
for dir in ./*/ ; do ( cd "$dir" && ./gradlew buildDebugPreBundle ); done
./gradlew :ApiDemos:java-app:assembleDebug
./gradlew :ApiDemos:kotlin-app:assembleDebug
./gradlew :ApiDemos:common-ui:assembleDebug


build-WearOS:
runs-on: ubuntu-latest
timeout-minutes: 45

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: set up Java 21
uses: actions/setup-java@v2
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '21'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5

- name: Build and check
run: cd WearOS && ./gradlew build
run: ./gradlew :WearOS:Wearable:assembleDebug

build-FireMarkers:
runs-on: ubuntu-latest
timeout-minutes: 45

steps:
- uses: actions/checkout@v4

- name: set up Java 21
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '21'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5

- name: Build and check
run: ./gradlew :FireMarkers:app:assembleDebug

build-Snippets:
runs-on: ubuntu-latest
timeout-minutes: 45

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: set up Java 21
uses: actions/setup-java@v2
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '21'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5

- name: Build and check
run: |
cd snippets
./gradlew assembleDebug lintGmsDebug
./gradlew :snippets:app:assembleDebug
./gradlew :snippets:app-ktx:assembleDebug
./gradlew :snippets:app-utils-ktx:assembleDebug
./gradlew :snippets:app-compose:assembleDebug
./gradlew :snippets:app-places-ktx:assembleDebug
./gradlew :snippets:app-utils:assembleDebug

build-tutorials:
runs-on: ubuntu-latest
timeout-minutes: 45

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: set up Java 21
uses: actions/setup-java@v2
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '21'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5

- name: Build and check
run: |
cd tutorials
for dir in ./*/
do
cd "$dir"
for tutorial in ./*/
do
cd "$tutorial" && ./gradlew buildDebug
cd ..
done
cd ..
done

test: # used as required status check
./gradlew :tutorials:kotlin:Polygons:assembleDebug

test:
runs-on: ubuntu-latest
timeout-minutes: 60
needs:
- build-ApiDemos
- build-WearOS
- build-FireMarkers
- build-Snippets
- build-tutorials
steps:
- run: echo "Fail if all other steps are not successful"
- uses: actions/checkout@v4
- name: set up Java 21
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '21'

- name: Run Unit Tests
run: ./gradlew testDebugUnitTest

- name: Run Lint
run: ./gradlew lintDebug
27 changes: 15 additions & 12 deletions .github/workflows/generate-v3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,28 +25,30 @@ jobs:
timeout-minutes: 45

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: set up JDK 1.8
uses: actions/setup-java@v1
- name: set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 1.8
distribution: 'adopt'
java-version: 17

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5

- name: Install NDK
run: |
sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install "ndk;20.0.5594570"
sudo ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --install "ndk;20.0.5594570"

- name: Generate V3
id: gradlew-generate-v3
run: |
cd ApiDemos/java
./gradlew generateV3 generateV3Layout
cd ../kotlin
./gradlew generateV3 generateV3Layout
echo "::set-output name=files-changed::$(git status -s | wc -l)"
./gradlew :ApiDemos:java-app:generateV3 :ApiDemos:java-app:generateV3Layout
./gradlew :ApiDemos:kotlin-app:generateV3 :ApiDemos:kotlin-app:generateV3Layout
echo "files-changed=$(git status -s | wc -l)" >> $GITHUB_OUTPUT

- name: PR Changes
uses: peter-evans/create-pull-request@v2
uses: peter-evans/create-pull-request@v6
if: steps.gradlew-generate-v3.outputs.files-changed > 0
with:
token: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }}
Expand All @@ -57,6 +59,7 @@ jobs:
body: |
Generating V3 code via `./gradlew generateV3 generateV3Layout`
branch: googlemaps-bot/generate-v3

- name: Uninstall NDK
run: |
${ANDROID_HOME}/tools/bin/sdkmanager --uninstall 'ndk-bundle'
${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --uninstall 'ndk;20.0.5594570'
125 changes: 125 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

name: Lint and Upload SARIF

on:
pull_request:
branches:
- main

jobs:
lint:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '21'

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'

- name: Check documentation versions
run: python3 scripts/update_docs_versions.py --check

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5

- name: Run Android Lint
run: |
./gradlew :ApiDemos:kotlin-app:lintDebug
./gradlew :ApiDemos:java-app:lintDebug
./gradlew :ApiDemos:common-ui:lintDebug
./gradlew :snippets:app:lintGmsDebug
./gradlew :snippets:app-utils:lintDebug
./gradlew :snippets:app-utils-ktx:lintDebug
./gradlew :snippets:app-places-ktx:lintDebug
./gradlew :snippets:app-ktx:lintDebug
./gradlew :snippets:app-compose:lintDebug
./gradlew :WearOS:Wearable:lintDebug
./gradlew :FireMarkers:app:lintDebug

- name: Upload SARIF for ApiDemos:kotlin-app
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: ApiDemos/project/kotlin-app/build/reports/lint-results-debug.sarif
category: ApiDemos-kotlin-app

- name: Upload SARIF for ApiDemos:java-app
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: ApiDemos/project/java-app/build/reports/lint-results-debug.sarif
category: ApiDemos-java-app

- name: Upload SARIF for ApiDemos:common-ui
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: ApiDemos/project/common-ui/build/reports/lint-results-debug.sarif
category: ApiDemos-common-ui

- name: Upload SARIF for snippets:app
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: snippets/app/build/reports/lint-results-debug.sarif
category: snippets-app

- name: Upload SARIF for snippets:app-utils
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: snippets/app-utils/build/reports/lint-results-debug.sarif
category: snippets-app-utils

- name: Upload SARIF for snippets:app-utils-ktx
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: snippets/app-utils-ktx/build/reports/lint-results-debug.sarif
category: snippets-app-utils-ktx

- name: Upload SARIF for snippets:app-places-ktx
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: snippets/app-places-ktx/build/reports/lint-results-debug.sarif
category: snippets-app-places-ktx

- name: Upload SARIF for snippets:app-ktx
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: snippets/app-ktx/build/reports/lint-results-debug.sarif
category: snippets-app-ktx

- name: Upload SARIF for snippets:app-compose
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: snippets/app-compose/build/reports/lint-results-debug.sarif
category: snippets-app-compose

- name: Upload SARIF for WearOS:Wearable
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: WearOS/Wearable/build/reports/lint-results-debug.sarif
category: WearOS-Wearable

- name: Upload SARIF for FireMarkers:app
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: FireMarkers/app/build/reports/lint-results-debug.sarif
category: FireMarkers-app
Loading