-
Notifications
You must be signed in to change notification settings - Fork 131
Merge main into release/6.3
#1449
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
stmontgomery
merged 9 commits into
release/6.3
from
automerge/merge-main-2025-12-12_17-43
Dec 12, 2025
Merged
Merge main into release/6.3
#1449
stmontgomery
merged 9 commits into
release/6.3
from
automerge/merge-main-2025-12-12_17-43
Dec 12, 2025
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…to withKnownIssue (#1441) This fixes an issue where a redundant, second known issue is recorded when `try #require()` fails within the body closure of `withKnownIssue`. For example, in the following example code: ```swift @test func example() { withKnownIssue { try #require(Bool(false)) } } ``` two (known) issues are recorded: > ✘ Test example() recorded a known issue at KnownIssueTests.swift:641:9: Expectation failed: Bool(false) > ✘ Test example() recorded a known issue at KnownIssueTests.swift:640:18: An API was misused > ↳ Recorded an error of type ExpectationFailedError representing an expectation that failed and was already recorded: ... Of these, only the first should be recorded and the second should be suppressed. Fixes rdar://153550847 ### Motivation: It should be possible to use `try #require()` in the body closure passed to `withKnownIssue`, and _matching_ failures should only cause a single known issue to be recorded. The second issue shown above describes an infrastructural `Error`-conforming type which is not generally intended to be included in the results test authors see, and can cause confusion. ### Modifications: - When attempting to match an error thrown by a `withKnownIssue` body closure, ignore the error if it's of type `ExpectationFailedError. - Add a new unit test validating this, which fails prior to the fix. ### Checklist: - [x] Code and documentation should follow the style of the [Style Guide](https://github.com/apple/swift-testing/blob/main/Documentation/StyleGuide.md). - [x] If public symbols are renamed or modified, DocC references should be updated.
Add Dependabot configuration for GitHub Actions
…ific tag (#1443) This modifies our pull request GitHub Actions workflow which is currently using `nightly-6.2` builds to add `nightly-6.3` as well. This is possible now that [nightly 6.3 development snapshots](https://forums.swift.org/t/swift-6-3-nightly-development-snapshots/83621) are available and swiftlang/github-workflows#206 has added the necessary workflow support logic. Additionally, this pins all of our workflows which [use](https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idstepsuses) [swiftlang/github-workflows](https://github.com/swiftlang/github-workflows) to a specific tag ([`0.0.2`](https://github.com/swiftlang/github-workflows/releases/tag/0.0.2)) instead of `main`. As of swiftlang/github-workflows#196, this is now the [recommended practice](https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idstepsuses) since it helps prevent breakages due to upstream changes in the workflow definition file. ### Checklist: - [x] Code and documentation should follow the style of the [Style Guide](https://github.com/apple/swift-testing/blob/main/Documentation/StyleGuide.md). - [x] If public symbols are renamed or modified, DocC references should be updated.
…ializer type (#1444) This is a workaround meant to avoid Objective-C runtime warnings about duplicate classes stemming from our internal `Serializer` type which was added in #1390. ### Motivation: In some usage scenarios there can be two or more copies of the testing library loaded into a runner process. When this happens on platforms such as Darwin which use the Objective-C runtime, this can cause duplicate class definition warnings logged to the console because class types and (non-generic) actor types are implemented within the Objective-C runtime as classes. This can look something like the following: > objc[44611]: Class _TtC7Testing10Serializer is implemented in both ../path/to/libTesting.dylib (0x1011ac050) and path/to/swift-testing/.build/arm64-apple-macosx/debug/swift-testingPackageTests.xctest/Contents/MacOS/swift-testingPackageTests (0x10cc3ab88). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. ### Modifications: I considered several potential fixes, but decided the simplest and most likely to work in all usage scenarios is to make the `Serializer` type generic by adding an unused generic type parameter `T`. ### Checklist: - [x] Code and documentation should follow the style of the [Style Guide](https://github.com/apple/swift-testing/blob/main/Documentation/StyleGuide.md). - [x] If public symbols are renamed or modified, DocC references should be updated.
…ersion numbers are permitted. (#1438) This PR ensures that the JSON schema version 6.3 is considered "supported" in Swift Testing 6.3. As well, it suppresses a thrown error when the `version` field of a JSON record is slightly higher than the expected schema. For example, if we ask Swift Testing the ABI version corresponding to `VersionNumber(6, 3, 1)`, we'll get back `v6_3`, but then if we try to decode a JSON record whose `version` field equals `"6.3.1"`, we'll throw a version mismatch error. This error is now suppressed unless the versions really do mismatch. ### Checklist: - [x] Code and documentation should follow the style of the [Style Guide](https://github.com/apple/swift-testing/blob/main/Documentation/StyleGuide.md). - [x] If public symbols are renamed or modified, DocC references should be updated. --------- Co-authored-by: Stuart Montgomery <[email protected]>
…0.0.2 to 0.0.3 (#1447) Bumps [swiftlang/github-workflows/.github/workflows/soundness.yml](https://github.com/swiftlang/github-workflows) from 0.0.2 to 0.0.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/swiftlang/github-workflows/releases">swiftlang/github-workflows/.github/workflows/soundness.yml's releases</a>.</em></p> <blockquote> <h2>0.0.3</h2> <h2>What's Changed</h2> <ul> <li>Skip matrix jobs more cleanly (take 2) by <a href="https://github.com/jakepetroules"><code>@jakepetroules</code></a> in <a href="https://redirect.github.com/swiftlang/github-workflows/pull/208">swiftlang/github-workflows#208</a></li> <li>Add support for Linux on aarch64 by <a href="https://github.com/jakepetroules"><code>@jakepetroules</code></a> in <a href="https://redirect.github.com/swiftlang/github-workflows/pull/207">swiftlang/github-workflows#207</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/swiftlang/github-workflows/compare/0.0.2...0.0.3">https://github.com/swiftlang/github-workflows/compare/0.0.2...0.0.3</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/swiftlang/github-workflows/commit/bd541c3393ad4c885f13e05f76d1d8ffd0882f1b"><code>bd541c3</code></a> Add support for Linux on aarch64 (<a href="https://redirect.github.com/swiftlang/github-workflows/issues/207">#207</a>)</li> <li><a href="https://github.com/swiftlang/github-workflows/commit/b3cca9db7632a6a125e02bbe98cd28f12e61295c"><code>b3cca9d</code></a> Skip matrix jobs more cleanly (take 2) (<a href="https://redirect.github.com/swiftlang/github-workflows/issues/208">#208</a>)</li> <li>See full diff in <a href="https://github.com/swiftlang/github-workflows/compare/0.0.2...0.0.3">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
….yml from 0.0.2 to 0.0.3 (#1448) Bumps [swiftlang/github-workflows/.github/workflows/create_automerge_pr.yml](https://github.com/swiftlang/github-workflows) from 0.0.2 to 0.0.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/swiftlang/github-workflows/releases">swiftlang/github-workflows/.github/workflows/create_automerge_pr.yml's releases</a>.</em></p> <blockquote> <h2>0.0.3</h2> <h2>What's Changed</h2> <ul> <li>Skip matrix jobs more cleanly (take 2) by <a href="https://github.com/jakepetroules"><code>@jakepetroules</code></a> in <a href="https://redirect.github.com/swiftlang/github-workflows/pull/208">swiftlang/github-workflows#208</a></li> <li>Add support for Linux on aarch64 by <a href="https://github.com/jakepetroules"><code>@jakepetroules</code></a> in <a href="https://redirect.github.com/swiftlang/github-workflows/pull/207">swiftlang/github-workflows#207</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/swiftlang/github-workflows/compare/0.0.2...0.0.3">https://github.com/swiftlang/github-workflows/compare/0.0.2...0.0.3</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/swiftlang/github-workflows/commit/bd541c3393ad4c885f13e05f76d1d8ffd0882f1b"><code>bd541c3</code></a> Add support for Linux on aarch64 (<a href="https://redirect.github.com/swiftlang/github-workflows/issues/207">#207</a>)</li> <li><a href="https://github.com/swiftlang/github-workflows/commit/b3cca9db7632a6a125e02bbe98cd28f12e61295c"><code>b3cca9d</code></a> Skip matrix jobs more cleanly (take 2) (<a href="https://redirect.github.com/swiftlang/github-workflows/issues/208">#208</a>)</li> <li>See full diff in <a href="https://github.com/swiftlang/github-workflows/compare/0.0.2...0.0.3">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
stmontgomery
approved these changes
Dec 12, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR was automatically opened by a GitHub action. Review the changes included in this PR and determine if they should be included in the release branch. If yes, merge the PR. Otherwise revert changes that should not be included on this branch.