Skip to content
Merged
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 27 additions & 7 deletions .github/workflows/validate-all.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,34 @@
# These jobs are run on everything, including main and PRs.
#
# TEMPORARILY DISABLED — automatic triggers are commented out below.
#
# The project builds and tests against Xcode 27 / iOS 27.0, and the snapshot
# references are recorded on that runtime. No GitHub-hosted GA image provides
# Xcode 27 yet: `macos-26` tops out at Xcode 26.6 and carries no iOS 27.0
# simulator runtime. The beta `xcode-27` image does have both, but its runner
# pool could not absorb this 13-way test matrix — every shard sat queued
# indefinitely.
#
# RE-ENABLE when Xcode 27 is available on the `macos-26` runner image (or a
# `macos-27` GA image ships): uncomment the `pull_request` and `push` triggers
# below. Everything else in this file is already configured for Xcode 27 and
# iOS 27.0, so no other change should be needed.
#
# Track availability at https://github.com/actions/runner-images
#
# Until then the workflow can still be run on demand via `workflow_dispatch`
# (Actions tab → Validate → Run workflow, or `gh workflow run validate-all.yml`).
name: Validate

on:
pull_request:
branches: [main]
push:
branches: [main]
workflow_dispatch:
# pull_request:
# branches: [main]
# push:
# branches: [main]

env:
XCODE_VERSION: "26.6"
XCODE_VERSION: "27.0"

jobs:
release-config:
Expand Down Expand Up @@ -84,7 +104,7 @@ jobs:
-workspace Vault.xcworkspace \
-scheme CI_iOS \
-testPlan iOSAllTests \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro,OS=26.5' \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro,OS=27.0' \
-derivedDataPath "$RUNNER_TEMP/ci-ios-derived-data" \
-skipMacroValidation \
-skipPackagePluginValidation
Expand Down Expand Up @@ -160,7 +180,7 @@ jobs:

xcodebuild test-without-building \
-xctestrun "$XCTESTRUN" \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro,OS=26.5' \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro,OS=27.0' \
-only-testing:${{ matrix.only_testing }} \
-parallel-testing-enabled NO

Expand Down
2 changes: 1 addition & 1 deletion Vault/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ Designed to cause an internal error during key generation.
<table>
<tr>
<td>Simulator for snapshot tests</td>
<td><b>iPhone 17 Pro on iOS 26.5</b></td>
<td><b>iPhone 17 Pro on iOS 27.0</b></td>
</tr>
</table>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import UIKit
/// Expected device configuration for snapshot tests.
/// This must match the configuration specified in Vault/README.md.
private let expectedDeviceName = "iPhone 17 Pro"
private let expectedIOSVersion = "26.5"
private let expectedIOSVersion = "27.0"
private let expectedLocaleIdentifier = "en_US"
private let expectedTimezoneIdentifier = ["UTC", "GMT"]

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions Vault/Tests/VaultFeedTests/Helpers/SharedTestHelpers.swift
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,9 @@ struct StubSearchPassphraseKeyStore: SearchPassphraseKeyStore {
func anyPDFData() throws -> Data {
let path = randomTmpPath()
let pdf = PDFDocument()
// The document needs at least one page. A page-less PDF round-trips on iOS 26 but is rejected by
// `PDFDocument(data:)` on iOS 27, and real export documents always carry pages regardless.
pdf.insert(PDFPage(), at: 0)
pdf.write(to: path)
return try Data(contentsOf: path)
}
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.