Skip to content

Simplify EMM Tests (#641) #1104

Simplify EMM Tests (#641)

Simplify EMM Tests (#641) #1104

Workflow file for this run

name: unit_tests
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
pod-lib-lint:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-15]
podspec: [GoogleSignIn.podspec, GoogleSignInSwiftSupport.podspec]
flag: [
"",
"--use-static-frameworks"
]
include:
- podspec: GoogleSignInSwiftSupport.podspec
includePodspecFlag: "--include-podspecs='GoogleSignIn.podspec'"
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Update Bundler
run: bundle update --bundler
- name: Install Ruby gems with Bundler
run: bundle install
- name: Lint podspec using local source
# See #400 (https://github.com/google/GoogleSignIn-iOS/issues/400)
run: |
pod lib lint ${{ matrix.podspec }} --verbose \
${{ matrix.includePodspecFlag }} ${{ matrix.flag }}
spm-build-test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-15]
sdk: ['macosx', 'iphonesimulator']
include:
- sdk: 'macosx'
destination: '"platform=OS X,arch=x86_64"'
- sdk: 'iphonesimulator'
destination: '"platform=iOS Simulator,name=iPhone 16,OS=18.6"'
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
- name: Build unit test target
run: |
xcodebuild \
-scheme GoogleSignIn-Package \
-sdk ${{ matrix.sdk }} \
-destination ${{ matrix.destination }} \
build-for-testing
- name: Run unit test target
run: |
xcodebuild \
-scheme GoogleSignIn-Package \
-sdk ${{ matrix.sdk }} \
-destination ${{ matrix.destination }} \
test-without-building
signin-sample-spm-build:
runs-on: macos-15
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
- name: Build SignInSample (SPM)
run: |
xcodebuild \
-project Samples/ObjC/SignInSample/SignInSample.xcodeproj \
-scheme SignInSample \
-destination "generic/platform=iOS Simulator" \
build
signin-sample-pods-build:
runs-on: macos-15
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
- name: Update Bundler
run: bundle update --bundler
- name: Install Ruby gems with Bundler
run: bundle install
- name: Install pods
run: bundle exec pod install --project-directory=Samples/ObjC/SignInSample
- name: Build SignInSample (CocoaPods)
run: |
xcodebuild \
-workspace Samples/ObjC/SignInSample/SignInSampleForPod.xcworkspace \
-scheme SampleForPod \
-destination "generic/platform=iOS Simulator" \
build
xcode-27-preview-test:
# Build and run the unit tests against the Xcode 27 preview image. Xcode 27
# beta is the only (thus, default) Xcode on that image, so no xcode-select
# step is needed. The image is preview, so this job does not block merges.
# https://github.com/actions/runner-images/issues/14404
runs-on: xcode-27
continue-on-error: true
strategy:
fail-fast: false
matrix:
sdk: ['macosx', 'iphonesimulator']
include:
- sdk: 'macosx'
destination: '"platform=macOS"'
- sdk: 'iphonesimulator'
destination: '"platform=iOS Simulator,name=iPhone 17,OS=27.0"'
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Build unit test target
run: |
xcodebuild \
-scheme GoogleSignIn-Package \
-sdk ${{ matrix.sdk }} \
-destination ${{ matrix.destination }} \
build-for-testing
- name: Run unit test target
run: |
xcodebuild \
-scheme GoogleSignIn-Package \
-sdk ${{ matrix.sdk }} \
-destination ${{ matrix.destination }} \
test-without-building