Beta toolchain drift detected (Xcode 27.0 (27A5228h)) · Issue #478 · XCTestHTMLReport/XCTestHTMLReport · GitHub
Skip to content

Beta toolchain drift detected (Xcode 27.0 (27A5228h)) #478

Open

Description

@github-actions

Warning

This is a beta toolchain report — advance notice, not a regression.
It comes from the xcode-27 preview runner image, whose default Xcode is a
pre-release beta (27.0 (27A5228h)). Nothing here blocks a merge, reddens a run, or means the
shipping toolchain is broken — that is tracked separately under the drift label.
Beta failures are expected to be noisy, especially in the weeks after WWDC. Read this
as roughly two months of warning about what Xcode GA will bring to macos-latest.

A beta toolchain drift run failed against a pre-release Xcode. Each item below is an independent failure signal.

  • swift test failed against freshly generated fixtures.

Toolchain

  • Channel: beta (runs-on: xcode-27)
  • Xcode: 27.0 (27A5228h)
  • xcresulttool: xcresulttool version 25103.1, schema version: 0.4.0 (legacy commands format version: 3.60)

Step outcomes

Step Outcome
legacy xcresulttool marker success
swift build success
fixture generation success
fixtures contain test data success
swift test failure
xchtmlreport clean exit success

Filed automatically by the toolchain-drift workflow (#392). While this issue stays open, later failing runs append comments here instead of filing duplicates.

Activity

  1. added
    drift-betaXcode beta drift detected by scheduled CI — advance notice, not a regression
    on Aug 14, 2026
  2. tylervick commented on Aug 14, 2026

    @tylervick
    Member

    Triage — investigation only, no code change proposed

    The working hypothesis (legacy-format documents on Xcode 27 no longer carry Swift Testing tests) is falsified. The Swift Testing tests are missing from both backends because they are not in the bundle at all. The sample app never launched under the Xcode 27 SDK, so the entire SampleAppUnitTests bundle — 7 XCTest methods and all 5 @Test functions — never executed. This is a fixture-generation failure on the beta SDK, not a reader or format regression.

    There is a second, genuinely reader-side finding on Xcode 27, described further down. It is unrelated to the missing tests and is the only real drift signal in this run.


    1. Mechanism: the host app traps at launch on the iOS 27 SDK

    prepareTestResults.sh builds TestResults.xcresult from one xcodebuild test-without-building over MainScheme, which runs two bundles: SampleAppUITests (UI tests, host-independent since #423 removed the setUp launches) and SampleAppUnitTests (unit tests hosted in SampleApp, and where SwiftTestingSuite lives).

    From the beta leg's Generate fresh fixtures step (run 31828155735):

    18:29:12  Test Suite 'SampleAppUITests.xctest' failed
              Executed 9 tests, with 6 failures in 4.653 seconds
    18:29:18  SampleApp[85497:419956] failure in
              void _UIApplicationEvaluateRuntimeIssueForNoSceneLifecycleAdoption(void)_block_invoke
              (UIApplication_RuntimeIssues.m:106) : Application failed to launch:
              UIScene life cycle is required for apps built with this SDK.
    18:30:09  Testing failed:
              SampleApp (85497) encountered an error (Early unexpected exit, operation never
              finished bootstrapping - no restart will be attempted.
              (Underlying Error: Test crashed with signal trap before establishing connection.))
    

    XCTestHTMLReportSampleApp/SampleApp/Info.plist has no UIApplicationSceneManifest and the app has no SceneDelegate — it is a pre-scene UIKit app driven by UIMainStoryboardFile + AppDelegate. The iOS 27 SDK promotes the missing scene-lifecycle adoption from a runtime warning to a launch trap. The UI tests survive because they never launch the host; the unit tests die with it, and xcodebuild gives up before running them.

    The arithmetic is exact. CoreTests expects 21 = 16 XCTest + 5 @Test. What the beta produced:

    expected beta actual
    SampleAppUITests (First/Second/Third) 9 9
    SampleAppUnitTests XCTest 7 0
    SwiftTestingSuite @Test 5 0
    host-crash row 0 1
    total 21 10

    2. Both backends agree — which is what rules out a legacy-only loss

    DifferentialTests.testStatusesAndCountsMatchAcrossBackends prints both identifier→status maps. Neither side contains a single SwiftTestingSuite or SampleAppUnitTests entry; both contain exactly the same 9 UI tests. The only difference is how each names the crash:

    • legacy → "System Failures": "Success"
    • modern → "SampleApp (85497) encountered an error": "Failure"

    If the legacy document had dropped Swift Testing data, the modern map would still hold it. It does not. XCResultKit 1.2.2 is not implicated at all — there is nothing in the bundle for it to miss.

    3. Classifying the 8 unmasked differential lines

    All 8 trace to that single crash row and its knock-on counts. None is a Swift Testing signal:

    line side cause
    Passed (6) / Passed (5) both legacy folds the crash into a succeeded System Failures group; modern renders it as a failed row
    Failed (4) / Failed (5) both same
    <div class="test-summary-group succeeded"> legacy legacy's System Failures wrapper
    <div class="activity activity-assertion-failure no-drop-down"> modern modern's failure row for the crash
    Early unexpected exit, operation never finished bootstrapping… modern crash text, modern-only
    SampleApp (85497) encountered an error (DURATION) modern crash row title, modern-only

    SanityResults (1 test) and RetryResults (4 tests) generated identically on beta and stable, and fired only their usual allow-list rules. The divergence is confined to TestResults, i.e. to the one bundle the crash truncated.

    Same for the rest of the red suite — every remaining failure is downstream of the missing 12 rows:

    • CoreTests.testResultStatusCount — 10 ≠ 21, 0 skipped ≠ 1 (testSkipped is in SampleAppUnitTests), 4 failures < 6
    • CoreTests.testSwiftTestingResultsRendered — no additionWorks()
    • ModernResultReaderTests.testParameterizedTestCarriesItsArguments, .testSkipReasonAppendsWhenNoActivityRowMatches, .testStatusesMapIntoTheNeutralEnum (line 62, SampleAppUnitTests/testSkipped())
    • ModernResultReaderTests.testTreeIsFlatWithoutLegacyWrapperGroups — line 129 (targets == [SampleAppUITests, SampleAppUnitTests]) passed; only line 139 (groupNames.contains("SwiftTestingSuite")) failed. The testable exists with zero test rows — see the fault note below.
    • JsonReportTests × 3 — missing skipped status, missing parameterizedAddition, and an empty "children": [] where the truncated testable sits

    4. The one real reader-side finding: failure titles lose file:line on 27

    Two failures are not explained by truncation, and this is the part worth carrying forward:

    • testFailureTitlesKeepFileAndLineFromTheTestsDocument — reads FirstSuite/testTwo(), a UI test that did run. Got 'XCTAssertTrue failed - Test failed'; expected the FirstSuite.swift:86: prefix. The rows.count == 1 assertion still passed, so the join happened — the text simply arrives without the prefix.
    • testNestedRetryFailureIsRetitledAndHoisted — reads RetryResults, which was not truncated (4 tests on beta and stable alike). Got 'failed'; expected RetryTests.swift:47: failed.

    ModernResultReader.failureMessages(of:) takes the Failure Message node's name verbatim. On Xcode 27 that string no longer embeds <file>:<line>: . I could not disambiguate from CI logs alone whether XCTest 27 stopped recording the prefix or xcresulttool 25103.1 stopped emitting it in the tests document (plausibly it moved into a structured field on schema 0.4.0) — the failureTitlePrefix allow-list rule strips the prefix from both renders, so the differential is blind to it by construction and cannot tell us which. Resolving that needs a live Xcode 27 bundle.

    Consequence: on Xcode 27, every failure row in a modern-backend report loses its source location. That is a real, user-visible degradation independent of the sample app.

    5. Schema pinning held

    XCResultToolClient.schemaVersion = "0.1.0", appended to every subcommand. The beta honoured it: all decodes succeeded, --json produced output, the render completed. Note the pin is a no-op on stable — Xcode 26.x's native schema is 0.1.0 (xcresulttool version 24757, schema version: 0.1.0); Xcode 27 beta is the first toolchain where it does real work (25103.1, schema version: 0.4.0), and it worked.

    The file:line finding is the useful lesson about its limits: --schema-version pins the JSON shape, not the semantics of the strings inside it. A node that keeps its name and type but changes its payload passes the pin and changes the report. The pin is doing its job; it just cannot cover this class.


    Options for the .auto preference

    Recorded because they were asked for. In my read this run does not motivate any of them — .auto chose legacy on the beta and legacy was not the problem; flipping it would have produced the identical 10-row report. Weigh them on their own merits, not on this evidence.

    Today ResultBackend.resolve() maps (.auto, .available) → .legacy, and Xcode 27 beta still advertises legacy commands format version: 3.60, so .auto → legacy there.

    A. Flip .auto to modern unconditionally. Simplest, one-line, uniform behaviour everywhere; makes the modern path the default the differential has been validating for. But it ships a default flip to every user at once, including the four declared losses in differential-allowlist.json (group durations, attachment display names, failure file:line prefix, wrapper groups) — and the §4 finding means the file:line loss gets worse on 27, not better. A default flip should probably not be the vehicle for that.

    B. Flip when the toolchain is ≥ 27. Confines the change to where a problem is suspected. But it requires a new capability probe — version parsing, not the existing legacy commands format version presence check — and this run gives no evidence that 27 breaks the legacy reader, so the threshold would be picked on a hunch. It also invites a per-version ladder as 28, 29 land.

    C. Flip when the legacy document is detected to lack Swift Testing data. The most targeted in principle, and the only one that keys on the actual symptom rather than a proxy. Two objections: (i) "lacks ST data" is indistinguishable from "the suite genuinely has no Swift Testing tests", which is the common case, so the detector needs a comparison against the modern document — meaning both readers run, at roughly double the cost, on every report; (ii) on the evidence here it would have fired on a bundle where modern also had nothing, so it must be written to require modern actually being better, not merely legacy being empty.

    Fault discipline

    The sharpest finding for FaultCollector. The xchtmlreport clean exit step passed on the beta leg: the tool ran against a bundle missing 12 of 21 tests and printed Report successfully created at …/index.html with exit 0 and no faults. A report claiming completeness while silently dropping 57% of the suite is precisely what the fault machinery exists to prevent.

    The good news is that this instance is cheaply detectable and does not require the legacy/modern comparison of option C. Two signals sit right there in the document, on both backends:

    1. A testable/group with zero test rows. Confirmed present — testTreeIsFlatWithoutLegacyWrapperGroups line 129 passed, so SampleAppUnitTests is in the tree; it just has no children. The --json diff shows the same empty "children": []. A target that was planned and produced nothing is a strong truncation signal, and structurally distinct from a target that was never in the plan.
    2. A host-app / system failure row. Legacy surfaces System Failures; modern surfaces SampleApp (…) encountered an error. Either is direct evidence the run did not complete.

    Both are toolchain-independent — they would fire on Xcode 26 just as well — so this is not a "fault when reading legacy on 27" rule, which I'd argue against: the toolchain version is a proxy for nothing we have actually measured, whereas an empty testable is the loss itself.

    Worth noting the same gap upstream: scripts/verify_fixtures.sh asserts only totalTestCount > 0. It reported TestResults.xcresult: 10 tests and passed the truncated bundle straight through to swift test. The #454 gate catches a stub; it does not catch a partial. (Stable control, same run: TestResults.xcresult: 21 tests, No drift detected.)


    Evidence index
    beta (xcode-27, 27A5228h) stable control (same run)
    xcresulttool 25103.1, schema 0.4.0 (legacy 3.60) 24757, schema 0.1.0 (legacy 3.58)
    TestResults.xcresult 10 tests 21 tests
    SanityResults.xcresult 1 test 1 test
    RetryResults.xcresult 4 tests 4 tests
    swift test failure success
    xchtmlreport exit 0, no faults 0
    drift verdict 1 fault filed No drift detected.

    Artifacts: toolchain-drift.yml uploads none, so this triage is from the job logs (gh run view --job=94857219458 --log, --job=94857219658) plus the repo sources. gh run download 31828155735 → no valid artifacts found. No Xcode 27 toolchain was available locally to interrogate a bundle directly; the §4 XCTest-vs-xcresulttool question is the one item that needs one.

  3. github-actions commented on Aug 17, 2026

    @github-actions
    ContributorAuthor

    Warning

    This is a beta toolchain report — advance notice, not a regression.
    It comes from the xcode-27 preview runner image, whose default Xcode is a
    pre-release beta (27.0 (27A5228h)). Nothing here blocks a merge, reddens a run, or means the
    shipping toolchain is broken — that is tracked separately under the drift label.
    Beta failures are expected to be noisy, especially in the weeks after WWDC. Read this
    as roughly two months of warning about what Xcode GA will bring to macos-latest.

    A beta toolchain drift run failed against a pre-release Xcode. Each item below is an independent failure signal.

    • swift test failed against freshly generated fixtures.
    • xchtmlreport exited 3 against a fresh .xcresult — since 3.0 that means the report degraded (collected faults).

    Toolchain

    • Channel: beta (runs-on: xcode-27)
    • Xcode: 27.0 (27A5228h)
    • xcresulttool: xcresulttool version 25103.1, schema version: 0.4.0 (legacy commands format version: 3.60)

    Step outcomes

    Step Outcome
    legacy xcresulttool marker success
    swift build success
    fixture generation success
    fixtures contain test data success
    swift test failure
    xchtmlreport clean exit failure

    The .xcresult bundles this leg generated are attached to the run as
    xcresult-fixtures-beta (5-day retention) — interrogate those rather than
    these logs. Nothing is attached if generation failed before writing a bundle.

    Filed automatically by the toolchain-drift workflow (#392). While this issue stays open, later failing runs append comments here instead of filing duplicates.

  4. github-actions commented on Aug 20, 2026

    @github-actions
    ContributorAuthor

    Warning

    This is a beta toolchain report — advance notice, not a regression.
    It comes from the xcode-27 preview runner image, whose default Xcode is a
    pre-release beta (27.0 (27A5228h)). Nothing here blocks a merge, reddens a run, or means the
    shipping toolchain is broken — that is tracked separately under the drift label.
    Beta failures are expected to be noisy, especially in the weeks after WWDC. Read this
    as roughly two months of warning about what Xcode GA will bring to macos-latest.

    A beta toolchain drift run failed against a pre-release Xcode. Each item below is an independent failure signal.

    • swift test failed against freshly generated fixtures.
    • xchtmlreport exited 3 against a fresh .xcresult — since 3.0 that means the report degraded (collected faults).

    Toolchain

    • Channel: beta (runs-on: xcode-27)
    • Xcode: 27.0 (27A5228h)
    • xcresulttool: xcresulttool version 25103.1, schema version: 0.4.0 (legacy commands format version: 3.60)

    Step outcomes

    Step Outcome
    legacy xcresulttool marker success
    swift build success
    fixture generation success
    fixtures contain test data success
    swift test failure
    xchtmlreport clean exit failure

    The .xcresult bundles this leg generated are attached to the run as
    xcresult-fixtures-beta (5-day retention) — interrogate those rather than
    these logs. Nothing is attached if generation failed before writing a bundle.

    Filed automatically by the toolchain-drift workflow (#392). While this issue stays open, later failing runs append comments here instead of filing duplicates.

  5. github-actions commented on Aug 24, 2026

    @github-actions
    ContributorAuthor

    Warning

    This is a beta toolchain report — advance notice, not a regression.
    It comes from the xcode-27 preview runner image, whose default Xcode is a
    pre-release beta (27.0 (27A5228h)). Nothing here blocks a merge, reddens a run, or means the
    shipping toolchain is broken — that is tracked separately under the drift label.
    Beta failures are expected to be noisy, especially in the weeks after WWDC. Read this
    as roughly two months of warning about what Xcode GA will bring to macos-latest.

    A beta toolchain drift run failed against a pre-release Xcode. Each item below is an independent failure signal.

    • swift test failed against freshly generated fixtures.
    • xchtmlreport exited 3 against a fresh .xcresult — since 3.0 that means the report degraded (collected faults).

    Toolchain

    • Channel: beta (runs-on: xcode-27)
    • Xcode: 27.0 (27A5228h)
    • xcresulttool: xcresulttool version 25103.1, schema version: 0.4.0 (legacy commands format version: 3.60)

    Step outcomes

    Step Outcome
    legacy xcresulttool marker success
    swift build success
    fixture generation success
    fixtures contain test data success
    swift test failure
    xchtmlreport clean exit failure

    The .xcresult bundles this leg generated are attached to the run as
    xcresult-fixtures-beta (5-day retention) — interrogate those rather than
    these logs. Nothing is attached if generation failed before writing a bundle.

    Filed automatically by the toolchain-drift workflow (#392). While this issue stays open, later failing runs append comments here instead of filing duplicates.

  6. github-actions commented on Aug 27, 2026

    @github-actions
    ContributorAuthor

    Warning

    This is a beta toolchain report — advance notice, not a regression.
    It comes from the xcode-27 preview runner image, whose default Xcode is a
    pre-release beta (27.0 (27A5228h)). Nothing here blocks a merge, reddens a run, or means the
    shipping toolchain is broken — that is tracked separately under the drift label.
    Beta failures are expected to be noisy, especially in the weeks after WWDC. Read this
    as roughly two months of warning about what Xcode GA will bring to macos-latest.

    A beta toolchain drift run failed against a pre-release Xcode. Each item below is an independent failure signal.

    • swift test failed against freshly generated fixtures.
    • xchtmlreport exited 3 against a fresh .xcresult — since 3.0 that means the report degraded (collected faults).

    Toolchain

    • Channel: beta (runs-on: xcode-27)
    • Xcode: 27.0 (27A5228h)
    • xcresulttool: xcresulttool version 25103.1, schema version: 0.4.0 (legacy commands format version: 3.60)

    Step outcomes

    Step Outcome
    legacy xcresulttool marker success
    swift build success
    fixture generation success
    fixtures contain test data success
    swift test failure
    xchtmlreport clean exit failure

    The .xcresult bundles this leg generated are attached to the run as
    xcresult-fixtures-beta (5-day retention) — interrogate those rather than
    these logs. Nothing is attached if generation failed before writing a bundle.

    Filed automatically by the toolchain-drift workflow (#392). While this issue stays open, later failing runs append comments here instead of filing duplicates.

  7. github-actions commented on Aug 31, 2026

    @github-actions
    ContributorAuthor

    Warning

    This is a beta toolchain report — advance notice, not a regression.
    It comes from the xcode-27 preview runner image, whose default Xcode is a
    pre-release beta (27.0 (27A5228h)). Nothing here blocks a merge, reddens a run, or means the
    shipping toolchain is broken — that is tracked separately under the drift label.
    Beta failures are expected to be noisy, especially in the weeks after WWDC. Read this
    as roughly two months of warning about what Xcode GA will bring to macos-latest.

    A beta toolchain drift run failed against a pre-release Xcode. Each item below is an independent failure signal.

    • swift test failed against freshly generated fixtures.
    • xchtmlreport exited 3 against a fresh .xcresult — since 3.0 that means the report degraded (collected faults).

    Toolchain

    • Channel: beta (runs-on: xcode-27)
    • Xcode: 27.0 (27A5228h)
    • xcresulttool: xcresulttool version 25103.1, schema version: 0.4.0 (legacy commands format version: 3.60)

    Step outcomes

    Step Outcome
    legacy xcresulttool marker success
    swift build success
    fixture generation success
    fixtures contain test data success
    swift test failure
    xchtmlreport clean exit failure

    The .xcresult bundles this leg generated are attached to the run as
    xcresult-fixtures-beta (5-day retention) — interrogate those rather than
    these logs. Nothing is attached if generation failed before writing a bundle.

    Filed automatically by the toolchain-drift workflow (#392). While this issue stays open, later failing runs append comments here instead of filing duplicates.

  8. github-actions commented on Sep 3, 2026

    @github-actions
    ContributorAuthor

    Warning

    This is a beta toolchain report — advance notice, not a regression.
    It comes from the xcode-27 preview runner image, whose default Xcode is a
    pre-release beta (27.0 (27A5252f)). Nothing here blocks a merge, reddens a run, or means the
    shipping toolchain is broken — that is tracked separately under the drift label.
    Beta failures are expected to be noisy, especially in the weeks after WWDC. Read this
    as roughly two months of warning about what Xcode GA will bring to macos-latest.

    A beta toolchain drift run failed against a pre-release Xcode. Each item below is an independent failure signal.

    • swift test failed against freshly generated fixtures.
    • xchtmlreport exited 3 against a fresh .xcresult — since 3.0 that means the report degraded (collected faults).

    Toolchain

    • Channel: beta (runs-on: xcode-27)
    • Xcode: 27.0 (27A5252f)
    • xcresulttool: xcresulttool version 25114, schema version: 0.4.0 (legacy commands format version: 3.60)

    Step outcomes

    Step Outcome
    legacy xcresulttool marker success
    swift build success
    fixture generation success
    fixtures contain test data success
    swift test failure
    xchtmlreport clean exit failure

    The .xcresult bundles this leg generated are attached to the run as
    xcresult-fixtures-beta (5-day retention) — interrogate those rather than
    these logs. Nothing is attached if generation failed before writing a bundle.

    Filed automatically by the toolchain-drift workflow (#392). While this issue stays open, later failing runs append comments here instead of filing duplicates.

  9. github-actions commented on Sep 7, 2026

    @github-actions
    ContributorAuthor

    Warning

    This is a beta toolchain report — advance notice, not a regression.
    It comes from the xcode-27 preview runner image, whose default Xcode is a
    pre-release beta (27.0 (27A5252f)). Nothing here blocks a merge, reddens a run, or means the
    shipping toolchain is broken — that is tracked separately under the drift label.
    Beta failures are expected to be noisy, especially in the weeks after WWDC. Read this
    as roughly two months of warning about what Xcode GA will bring to macos-latest.

    A beta toolchain drift run failed against a pre-release Xcode. Each item below is an independent failure signal.

    • swift test failed against freshly generated fixtures.
    • xchtmlreport exited 3 against a fresh .xcresult — since 3.0 that means the report degraded (collected faults).

    Toolchain

    • Channel: beta (runs-on: xcode-27)
    • Xcode: 27.0 (27A5252f)
    • xcresulttool: xcresulttool version 25114, schema version: 0.4.0 (legacy commands format version: 3.60)

    Step outcomes

    Step Outcome
    legacy xcresulttool marker success
    swift build success
    fixture generation success
    fixtures contain test data success
    swift test failure
    xchtmlreport clean exit failure

    The .xcresult bundles this leg generated are attached to the run as
    xcresult-fixtures-beta (5-day retention) — interrogate those rather than
    these logs. Nothing is attached if generation failed before writing a bundle.

    Filed automatically by the toolchain-drift workflow (#392). While this issue stays open, later failing runs append comments here instead of filing duplicates.

  10. github-actions commented on Sep 10, 2026

    @github-actions
    ContributorAuthor

    Warning

    This is a beta toolchain report — advance notice, not a regression.
    It comes from the xcode-27 preview runner image, whose default Xcode is a
    pre-release beta (27.0 (27A5252f)). Nothing here blocks a merge, reddens a run, or means the
    shipping toolchain is broken — that is tracked separately under the drift label.
    Beta failures are expected to be noisy, especially in the weeks after WWDC. Read this
    as roughly two months of warning about what Xcode GA will bring to macos-latest.

    A beta toolchain drift run failed against a pre-release Xcode. Each item below is an independent failure signal.

    • swift test failed against freshly generated fixtures.
    • xchtmlreport exited 3 against a fresh .xcresult — since 3.0 that means the report degraded (collected faults).

    Toolchain

    • Channel: beta (runs-on: xcode-27)
    • Xcode: 27.0 (27A5252f)
    • xcresulttool: xcresulttool version 25114, schema version: 0.4.0 (legacy commands format version: 3.60)

    Step outcomes

    Step Outcome
    legacy xcresulttool marker success
    swift build success
    fixture generation success
    fixtures contain test data success
    swift test failure
    xchtmlreport clean exit failure

    The .xcresult bundles this leg generated are attached to the run as
    xcresult-fixtures-beta (5-day retention) — interrogate those rather than
    these logs. Nothing is attached if generation failed before writing a bundle.

    Filed automatically by the toolchain-drift workflow (#392). While this issue stays open, later failing runs append comments here instead of filing duplicates.

  11. github-actions commented on Sep 14, 2026

    @github-actions
    ContributorAuthor

    Warning

    This is a beta toolchain report — advance notice, not a regression.
    It comes from the xcode-27 preview runner image, whose default Xcode is a
    pre-release beta (27.0 (27A5252f)). Nothing here blocks a merge, reddens a run, or means the
    shipping toolchain is broken — that is tracked separately under the drift label.
    Beta failures are expected to be noisy, especially in the weeks after WWDC. Read this
    as roughly two months of warning about what Xcode GA will bring to macos-latest.

    A beta toolchain drift run failed against a pre-release Xcode. Each item below is an independent failure signal.

    • swift test failed against freshly generated fixtures.
    • xchtmlreport exited 3 against a fresh .xcresult — since 3.0 that means the report degraded (collected faults).

    Toolchain

    • Channel: beta (runs-on: xcode-27)
    • Xcode: 27.0 (27A5252f)
    • xcresulttool: xcresulttool version 25114, schema version: 0.4.0 (legacy commands format version: 3.60)

    Step outcomes

    Step Outcome
    legacy xcresulttool marker success
    swift build success
    fixture generation success
    fixtures contain test data success
    swift test failure
    xchtmlreport clean exit failure

    The .xcresult bundles this leg generated are attached to the run as
    xcresult-fixtures-beta (5-day retention) — interrogate those rather than
    these logs. Nothing is attached if generation failed before writing a bundle.

    Filed automatically by the toolchain-drift workflow (#392). While this issue stays open, later failing runs append comments here instead of filing duplicates.

  12. github-actions commented on Sep 17, 2026

    @github-actions
    ContributorAuthor

    Warning

    This is a beta toolchain report — advance notice, not a regression.
    It comes from the xcode-27 preview runner image, whose default Xcode is a
    pre-release beta (27.0 (27A5252f)). Nothing here blocks a merge, reddens a run, or means the
    shipping toolchain is broken — that is tracked separately under the drift label.
    Beta failures are expected to be noisy, especially in the weeks after WWDC. Read this
    as roughly two months of warning about what Xcode GA will bring to macos-latest.

    A beta toolchain drift run failed against a pre-release Xcode. Each item below is an independent failure signal.

    • swift test failed against freshly generated fixtures.
    • xchtmlreport exited 3 against a fresh .xcresult — since 3.0 that means the report degraded (collected faults).

    Toolchain

    • Channel: beta (runs-on: xcode-27)
    • Xcode: 27.0 (27A5252f)
    • xcresulttool: xcresulttool version 25114, schema version: 0.4.0 (legacy commands format version: 3.60)

    Step outcomes

    Step Outcome
    legacy xcresulttool marker success
    swift build success
    fixture generation success
    fixtures contain test data success
    swift test failure
    xchtmlreport clean exit failure

    The .xcresult bundles this leg generated are attached to the run as
    xcresult-fixtures-beta (5-day retention) — interrogate those rather than
    these logs. Nothing is attached if generation failed before writing a bundle.

    Filed automatically by the toolchain-drift workflow (#392). While this issue stays open, later failing runs append comments here instead of filing duplicates.

  13. github-actions commented on Sep 21, 2026

    @github-actions
    ContributorAuthor

    Warning

    This is a beta toolchain report — advance notice, not a regression.
    It comes from the xcode-27 preview runner image, whose default Xcode is a
    pre-release beta (27.0 (27A266a)). Nothing here blocks a merge, reddens a run, or means the
    shipping toolchain is broken — that is tracked separately under the drift label.
    Beta failures are expected to be noisy, especially in the weeks after WWDC. Read this
    as roughly two months of warning about what Xcode GA will bring to macos-latest.

    A beta toolchain drift run failed against a pre-release Xcode. Each item below is an independent failure signal.

    • swift test failed against freshly generated fixtures.
    • xchtmlreport exited 3 against a fresh .xcresult — since 3.0 that means the report degraded (collected faults).

    Toolchain

    • Channel: beta (runs-on: xcode-27)
    • Xcode: 27.0 (27A266a)
    • xcresulttool: xcresulttool version 25115, schema version: 0.4.0 (legacy commands format version: 3.60)

    Step outcomes

    Step Outcome
    legacy xcresulttool marker success
    swift build success
    fixture generation success
    fixtures contain test data success
    swift test failure
    xchtmlreport clean exit failure

    The .xcresult bundles this leg generated are attached to the run as
    xcresult-fixtures-beta (5-day retention) — interrogate those rather than
    these logs. Nothing is attached if generation failed before writing a bundle.

    Filed automatically by the toolchain-drift workflow (#392). While this issue stays open, later failing runs append comments here instead of filing duplicates.

  14. github-actions commented on Sep 24, 2026

    @github-actions
    ContributorAuthor

    Warning

    This is a beta toolchain report — advance notice, not a regression.
    It comes from the xcode-27 preview runner image, whose default Xcode is a
    pre-release beta (27.0 (27A266a)). Nothing here blocks a merge, reddens a run, or means the
    shipping toolchain is broken — that is tracked separately under the drift label.
    Beta failures are expected to be noisy, especially in the weeks after WWDC. Read this
    as roughly two months of warning about what Xcode GA will bring to macos-latest.

    A beta toolchain drift run failed against a pre-release Xcode. Each item below is an independent failure signal.

    • swift test failed against freshly generated fixtures.
    • xchtmlreport exited 3 against a fresh .xcresult — since 3.0 that means the report degraded (collected faults).

    Toolchain

    • Channel: beta (runs-on: xcode-27)
    • Xcode: 27.0 (27A266a)
    • xcresulttool: xcresulttool version 25115, schema version: 0.4.0 (legacy commands format version: 3.60)

    Step outcomes

    Step Outcome
    legacy xcresulttool marker success
    swift build success
    fixture generation success
    fixtures contain test data success
    swift test failure
    xchtmlreport clean exit failure

    The .xcresult bundles this leg generated are attached to the run as
    xcresult-fixtures-beta (5-day retention) — interrogate those rather than
    these logs. Nothing is attached if generation failed before writing a bundle.

    Filed automatically by the toolchain-drift workflow (#392). While this issue stays open, later failing runs append comments here instead of filing duplicates.

  15. github-actions commented on Sep 28, 2026

    @github-actions
    ContributorAuthor

    Warning

    This is a beta toolchain report — advance notice, not a regression.
    It comes from the xcode-27 preview runner image, whose default Xcode is a
    pre-release beta (27.0 (27A266a)). Nothing here blocks a merge, reddens a run, or means the
    shipping toolchain is broken — that is tracked separately under the drift label.
    Beta failures are expected to be noisy, especially in the weeks after WWDC. Read this
    as roughly two months of warning about what Xcode GA will bring to macos-latest.

    A beta toolchain drift run failed against a pre-release Xcode. Each item below is an independent failure signal.

    • swift test failed against freshly generated fixtures.
    • xchtmlreport exited 3 against a fresh .xcresult — since 3.0 that means the report degraded (collected faults).

    Toolchain

    • Channel: beta (runs-on: xcode-27)
    • Xcode: 27.0 (27A266a)
    • xcresulttool: xcresulttool version 25115, schema version: 0.4.0 (legacy commands format version: 3.60)

    Step outcomes

    Step Outcome
    legacy xcresulttool marker success
    swift build success
    fixture generation success
    fixtures contain test data success
    swift test failure
    xchtmlreport clean exit failure

    The .xcresult bundles this leg generated are attached to the run as
    xcresult-fixtures-beta (5-day retention) — interrogate those rather than
    these logs. Nothing is attached if generation failed before writing a bundle.

    Filed automatically by the toolchain-drift workflow (#392). While this issue stays open, later failing runs append comments here instead of filing duplicates.

  16. github-actions commented on Oct 1, 2026

    @github-actions
    ContributorAuthor

    Warning

    This is a beta toolchain report — advance notice, not a regression.
    It comes from the xcode-27 preview runner image, whose default Xcode is a
    pre-release beta (27.0 (27A266a)). Nothing here blocks a merge, reddens a run, or means the
    shipping toolchain is broken — that is tracked separately under the drift label.
    Beta failures are expected to be noisy, especially in the weeks after WWDC. Read this
    as roughly two months of warning about what Xcode GA will bring to macos-latest.

    A beta toolchain drift run failed against a pre-release Xcode. Each item below is an independent failure signal.

    • swift test failed against freshly generated fixtures.
    • xchtmlreport exited 3 against a fresh .xcresult — since 3.0 that means the report degraded (collected faults).

    Toolchain

    • Channel: beta (runs-on: xcode-27)
    • Xcode: 27.0 (27A266a)
    • xcresulttool: xcresulttool version 25115, schema version: 0.4.0 (legacy commands format version: 3.60)

    Step outcomes

    Step Outcome
    legacy xcresulttool marker success
    swift build success
    fixture generation success
    fixtures contain test data success
    swift test failure
    xchtmlreport clean exit failure

    The .xcresult bundles this leg generated are attached to the run as
    xcresult-fixtures-beta (5-day retention) — interrogate those rather than
    these logs. Nothing is attached if generation failed before writing a bundle.

    Filed automatically by the toolchain-drift workflow (#392). While this issue stays open, later failing runs append comments here instead of filing duplicates.

  17. github-actions commented on Oct 5, 2026

    @github-actions
    ContributorAuthor

    Warning

    This is a beta toolchain report — advance notice, not a regression.
    It comes from the xcode-27 preview runner image, whose default Xcode is a
    pre-release beta (27.0 (27A266a)). Nothing here blocks a merge, reddens a run, or means the
    shipping toolchain is broken — that is tracked separately under the drift label.
    Beta failures are expected to be noisy, especially in the weeks after WWDC. Read this
    as roughly two months of warning about what Xcode GA will bring to macos-latest.

    A beta toolchain drift run failed against a pre-release Xcode. Each item below is an independent failure signal.

    • swift test failed against freshly generated fixtures.
    • xchtmlreport exited 3 against a fresh .xcresult — since 3.0 that means the report degraded (collected faults).

    Toolchain

    • Channel: beta (runs-on: xcode-27)
    • Xcode: 27.0 (27A266a)
    • xcresulttool: xcresulttool version 25115, schema version: 0.4.0 (legacy commands format version: 3.60)

    Step outcomes

    Step Outcome
    legacy xcresulttool marker success
    swift build success
    fixture generation success
    fixtures contain test data success
    swift test failure
    xchtmlreport clean exit failure

    The .xcresult bundles this leg generated are attached to the run as
    xcresult-fixtures-beta (5-day retention) — interrogate those rather than
    these logs. Nothing is attached if generation failed before writing a bundle.

    Filed automatically by the toolchain-drift workflow (#392). While this issue stays open, later failing runs append comments here instead of filing duplicates.

  18. github-actions commented on Oct 8, 2026

    @github-actions
    ContributorAuthor

    Warning

    This is a beta toolchain report — advance notice, not a regression.
    It comes from the xcode-27 preview runner image, whose default Xcode is a
    pre-release beta (27.0 (27A266a)). Nothing here blocks a merge, reddens a run, or means the
    shipping toolchain is broken — that is tracked separately under the drift label.
    Beta failures are expected to be noisy, especially in the weeks after WWDC. Read this
    as roughly two months of warning about what Xcode GA will bring to macos-latest.

    A beta toolchain drift run failed against a pre-release Xcode. Each item below is an independent failure signal.

    • swift test failed against freshly generated fixtures.
    • xchtmlreport exited 3 against a fresh .xcresult — since 3.0 that means the report degraded (collected faults).

    Toolchain

    • Channel: beta (runs-on: xcode-27)
    • Xcode: 27.0 (27A266a)
    • xcresulttool: xcresulttool version 25115, schema version: 0.4.0 (legacy commands format version: 3.60)

    Step outcomes

    Step Outcome
    legacy xcresulttool marker success
    swift build success
    fixture generation success
    fixtures contain test data success
    swift test failure
    xchtmlreport clean exit failure

    The .xcresult bundles this leg generated are attached to the run as
    xcresult-fixtures-beta (5-day retention) — interrogate those rather than
    these logs. Nothing is attached if generation failed before writing a bundle.

    Filed automatically by the toolchain-drift workflow (#392). While this issue stays open, later failing runs append comments here instead of filing duplicates.

  19. github-actions commented on Oct 12, 2026

    @github-actions
    ContributorAuthor

    Warning

    This is a beta toolchain report — advance notice, not a regression.
    It comes from the xcode-27 preview runner image, whose default Xcode is a
    pre-release beta (27.0 (27A266a)). Nothing here blocks a merge, reddens a run, or means the
    shipping toolchain is broken — that is tracked separately under the drift label.
    Beta failures are expected to be noisy, especially in the weeks after WWDC. Read this
    as roughly two months of warning about what Xcode GA will bring to macos-latest.

    A beta toolchain drift run failed against a pre-release Xcode. Each item below is an independent failure signal.

    • swift test failed against freshly generated fixtures.
    • xchtmlreport exited 3 against a fresh .xcresult — since 3.0 that means the report degraded (collected faults).

    Toolchain

    • Channel: beta (runs-on: xcode-27)
    • Xcode: 27.0 (27A266a)
    • xcresulttool: xcresulttool version 25115, schema version: 0.4.0 (legacy commands format version: 3.60)

    Step outcomes

    Step Outcome
    legacy xcresulttool marker success
    swift build success
    fixture generation success
    fixtures contain test data success
    swift test failure
    xchtmlreport clean exit failure

    The .xcresult bundles this leg generated are attached to the run as
    xcresult-fixtures-beta (5-day retention) — interrogate those rather than
    these logs. Nothing is attached if generation failed before writing a bundle.

    Filed automatically by the toolchain-drift workflow (#392). While this issue stays open, later failing runs append comments here instead of filing duplicates.

  20. github-actions commented on Oct 15, 2026

    @github-actions
    ContributorAuthor

    Warning

    This is a beta toolchain report — advance notice, not a regression.
    It comes from the xcode-27 preview runner image, whose default Xcode is a
    pre-release beta (27.0 (27A266a)). Nothing here blocks a merge, reddens a run, or means the
    shipping toolchain is broken — that is tracked separately under the drift label.
    Beta failures are expected to be noisy, especially in the weeks after WWDC. Read this
    as roughly two months of warning about what Xcode GA will bring to macos-latest.

    A beta toolchain drift run failed against a pre-release Xcode. Each item below is an independent failure signal.

    • swift test failed against freshly generated fixtures.
    • xchtmlreport exited 3 against a fresh .xcresult — since 3.0 that means the report degraded (collected faults).

    Toolchain

    • Channel: beta (runs-on: xcode-27)
    • Xcode: 27.0 (27A266a)
    • xcresulttool: xcresulttool version 25115, schema version: 0.4.0 (legacy commands format version: 3.60)

    Step outcomes

    Step Outcome
    legacy xcresulttool marker success
    swift build success
    fixture generation success
    fixtures contain test data success
    swift test failure
    xchtmlreport clean exit failure

    The .xcresult bundles this leg generated are attached to the run as
    xcresult-fixtures-beta (5-day retention) — interrogate those rather than
    these logs. Nothing is attached if generation failed before writing a bundle.

    Filed automatically by the toolchain-drift workflow (#392). While this issue stays open, later failing runs append comments here instead of filing duplicates.

  21. github-actions commented on Oct 19, 2026

    @github-actions
    ContributorAuthor

    Warning

    This is a beta toolchain report — advance notice, not a regression.
    It comes from the xcode-27 preview runner image, whose default Xcode is a
    pre-release beta (27.0 (27A266a)). Nothing here blocks a merge, reddens a run, or means the
    shipping toolchain is broken — that is tracked separately under the drift label.
    Beta failures are expected to be noisy, especially in the weeks after WWDC. Read this
    as roughly two months of warning about what Xcode GA will bring to macos-latest.

    A beta toolchain drift run failed against a pre-release Xcode. Each item below is an independent failure signal.

    • swift test failed against freshly generated fixtures.
    • xchtmlreport exited 3 against a fresh .xcresult — since 3.0 that means the report degraded (collected faults).

    Toolchain

    • Channel: beta (runs-on: xcode-27)
    • Xcode: 27.0 (27A266a)
    • xcresulttool: xcresulttool version 25115, schema version: 0.4.0 (legacy commands format version: 3.60)

    Step outcomes

    Step Outcome
    legacy xcresulttool marker success
    swift build success
    fixture generation success
    fixtures contain test data success
    swift test failure
    xchtmlreport clean exit failure

    The .xcresult bundles this leg generated are attached to the run as
    xcresult-fixtures-beta (5-day retention) — interrogate those rather than
    these logs. Nothing is attached if generation failed before writing a bundle.

    Filed automatically by the toolchain-drift workflow (#392). While this issue stays open, later failing runs append comments here instead of filing duplicates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    drift-betaXcode beta drift detected by scheduled CI — advance notice, not a regression

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions