Skip to content

[test] Mark _Differentiable tests as unsupported in Swift-in-the-OS configurations #28882

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
merged 1 commit into from
Dec 19, 2019

Conversation

lorentey
Copy link
Member

The new _Differentiable module is not available in any shipping OS release, but its public API currently doesn’t have availability, either.

Temporarily disable tests that import it when we’re testing with OS-provided libraries.

The typecheck test test/AutoDiff/stdlib/differentiable_protocol.swift imports _Differentable but still somehow succeeds in these configs, so leave that one enabled.

rdar://57975086

…onfiguration

The new _Differentiable module is not available in any shipping OS release, but its public API currently doesn’t have availability, either.

Temporarily disable tests that import it when we’re testing with OS-provided libraries.

The typecheck test test/AutoDiff/stdlib/differentiable_protocol.swift imports _Differentable but still somehow succeeds in these configs, so leave that one enabled.

rdar://57975086
@lorentey
Copy link
Member Author

@swift-ci smoke test

@slavapestov slavapestov merged commit 576df04 into swiftlang:master Dec 19, 2019
@dan-zheng
Copy link
Contributor

Hi @lorentey,

I have a few questions, if you don't mind.

  1. Is the robust fix for this issue to add @available attributes to public APIs in the _Differentiation module? If yes, what arguments should we specify in the @available attributes?

  2. In the meantime, should we add the following:

// We currently lack availability information (rdar://57975086)
// UNSUPPORTED: use_os_stdlib

To all test/AutoDiff tests that import the _Differentiation module?

  1. Is there a @swift-ci command we can run to prevent breakages due to missing UNSUPPORTED: use_os_stdlib?

Thanks! cc @rxwei @marcrasi

@lorentey
Copy link
Member Author

Hey @dan-zheng! 👋

In general, we need to describe availability for anything that ships in ABI-stable OS releases. For in-development Swift versions, this is usually done by adding an @available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *) incantation to all ABI-affecting declarations.

However, _Differentiable is a special case since (1) it's a brand new, standalone module and (2) it's underscored which makes it non-public and potentially not ready for ABI stability. We'll need to figure out what's the right way to handle it; but for now I believe it is okay to keep things as they are!

This PR was just a quick emergency fix to unblock our CI. We're still investigating and we will likely need to adjust or (preferably) revert this soon. (Especially since the back-deployment tests aren't failing on ci.swift.org... 🤔)

@lorentey
Copy link
Member Author

Update: Yep, the issue was a misconfiguration entirely on our side; I'll revert this in a moment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants