Skip to content

Make Google Maps package self-contained (#204) #12

Make Google Maps package self-contained (#204)

Make Google Maps package self-contained (#204) #12

name: Google Foundation Validation
on:
pull_request:
paths:
- ".github/workflows/google-foundation-validation.yml"
- ".config/dotnet-tools.json"
- ".gitignore"
- "Directory.Build.props"
- "global.json"
- "Xamarin.Google.sln"
- "*.cake"
- "icons/googleiosmaps_128x128.png"
- "icons/googleiosplaces_128x128.png"
- "source/AssemblyInfo.cs"
- "source/Google/Maps/**"
- "source/Google/Places/**"
- "tests/E2E/Google.Foundation/**"
- "tools/e2e/check-consumer-shapes.sh"
- "tools/e2e/check-package-structure.sh"
- "tools/e2e/check-offline-build.sh"
- "tools/e2e/run-google-foundation.sh"
push:
branches:
- main
paths:
- ".github/workflows/google-foundation-validation.yml"
- ".config/dotnet-tools.json"
- ".gitignore"
- "Directory.Build.props"
- "global.json"
- "Xamarin.Google.sln"
- "*.cake"
- "icons/googleiosmaps_128x128.png"
- "icons/googleiosplaces_128x128.png"
- "source/AssemblyInfo.cs"
- "source/Google/Maps/**"
- "source/Google/Places/**"
- "tests/E2E/Google.Foundation/**"
- "tools/e2e/check-consumer-shapes.sh"
- "tools/e2e/check-package-structure.sh"
- "tools/e2e/check-offline-build.sh"
- "tools/e2e/run-google-foundation.sh"
workflow_dispatch:
permissions:
contents: read
jobs:
places:
runs-on: macos-26
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Select Xcode 26.6
run: |
sudo xcode-select --switch /Applications/Xcode_26.6.app/Contents/Developer
xcodebuild -version
xcode-select -p
- name: Setup .NET SDK
uses: actions/setup-dotnet@v4
with:
global-json-file: global.json
- name: Install .NET iOS workload
run: |
dotnet workload install ios
dotnet workload list
- name: Install CocoaPods
run: |
if ! command -v pod >/dev/null 2>&1; then
sudo gem install cocoapods
fi
pod --version
- name: Restore tools
run: dotnet tool restore
- name: Pack Google.Places
run: dotnet tool run dotnet-cake -- --target=nuget --names=Google.Places
- name: Package structure checks
run: >-
tools/e2e/check-package-structure.sh
--target Places
--package-dir output
- name: Direct and transitive consumer checks
run: >-
tools/e2e/check-consumer-shapes.sh
--target Places
--package-dir output
- name: Offline build proof
run: >-
tools/e2e/check-offline-build.sh
--target Places
--package-dir output
- name: Simulator E2E
run: >-
tools/e2e/run-google-foundation.sh
--target Places
--package-dir output
--configuration Debug
- name: Upload diagnostics
if: failure()
uses: actions/upload-artifact@v4
with:
name: google-foundation-places-diagnostics
path: tests/E2E/Google.Foundation/artifacts/
if-no-files-found: ignore
maps:
runs-on: macos-26
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Select Xcode 26.6
run: |
sudo xcode-select --switch /Applications/Xcode_26.6.app/Contents/Developer
xcodebuild -version
xcode-select -p
- name: Setup .NET SDK
uses: actions/setup-dotnet@v4
with:
global-json-file: global.json
- name: Install .NET iOS workload
run: |
dotnet workload install ios
dotnet workload list
- name: Install CocoaPods
run: |
if ! command -v pod >/dev/null 2>&1; then
sudo gem install cocoapods
fi
pod --version
- name: Restore tools
run: dotnet tool restore
- name: Pack Google.Maps
run: dotnet tool run dotnet-cake -- --target=nuget --names=Google.Maps
- name: Package structure checks
run: >-
tools/e2e/check-package-structure.sh
--target Maps
--package-dir output
- name: Direct and transitive consumer checks
run: >-
tools/e2e/check-consumer-shapes.sh
--target Maps
--package-dir output
- name: Offline build proof
run: >-
tools/e2e/check-offline-build.sh
--target Maps
--package-dir output
- name: Simulator E2E
run: >-
tools/e2e/run-google-foundation.sh
--target Maps
--package-dir output
--configuration Debug
- name: Upload diagnostics
if: failure()
uses: actions/upload-artifact@v4
with:
name: google-foundation-maps-diagnostics
path: tests/E2E/Google.Foundation/artifacts/
if-no-files-found: ignore