diff --git a/.github/workflows/builds.yml b/.github/workflows/builds.yml index 369d25bf..16895e01 100644 --- a/.github/workflows/builds.yml +++ b/.github/workflows/builds.yml @@ -18,7 +18,7 @@ jobs: os: [macos-15] steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 - name: Select Xcode run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer - name: Archive for iOS @@ -33,3 +33,26 @@ jobs: archive \ -scheme GoogleSignIn-Package \ -destination "platform=OS X" + + xcode-27-preview-archive: + # Archive every supported platform against the Xcode 27 preview image. 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: + destination: [ + 'generic/platform=iOS', + 'platform=OS X' + ] + + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - name: Archive + run: | + xcodebuild \ + archive \ + -scheme GoogleSignIn-Package \ + -destination "${{ matrix.destination }}" diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index fe2eb6cc..31e3c1ec 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -24,7 +24,7 @@ jobs: - podspec: GoogleSignInSwiftSupport.podspec includePodspecFlag: "--include-podspecs='GoogleSignIn.podspec'" steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 - name: Update Bundler run: bundle update --bundler - name: Install Ruby gems with Bundler @@ -47,7 +47,7 @@ jobs: - sdk: 'iphonesimulator' destination: '"platform=iOS Simulator,name=iPhone 16,OS=18.6"' steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 - name: Select Xcode run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer - name: Build unit test target @@ -65,3 +65,35 @@ jobs: -destination ${{ matrix.destination }} \ test-without-building + 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