Skip to content

Conversation

@neonichu
Copy link
Contributor

Currently, we only pick a non-exact match for version-specific manifests if its tools-version is higher than the regular one. That seems like an edge case only and we should also pick it if the regular manifest is incompatible. This both matches intuition as well as our current documentation on the topic. It should also be backwards-compatible with the current behavior since the new behavior only comes into play if we would have previously failed to load a manifest at all.

@neonichu neonichu self-assigned this Aug 11, 2023
@neonichu
Copy link
Contributor Author

Needs a test for the new behavior.

@neonichu
Copy link
Contributor Author

@swift-ci please smoke test

return regularManifest
} else {
// If that's incompatible, use the closest version-specific manifest we got.
return versionSpecificManifest
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the key change, previously we would have always returned the regular manifest here, even if it was incompatible.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense to me. And we wound't even be in this part of the code unless we knew we had a versionSpecificManifest, right, since the guard above would have returned the regular manifest previously?

This logic makes sense to me.

@neonichu
Copy link
Contributor Author

@swift-ci please smoke test

@neonichu
Copy link
Contributor Author

@swift-ci please smoke test windows

Currently, we only pick a non-exact match for version-specific manifests if its tools-version is *higher* than the regular one. That seems like an edge case only and we should *also* pick it if the regular manifest is incompatible. This both matches intuition as well as our current documentation on the topic. It should also be backwards-compatible with the current behavior since the new behavior only comes into play if we would have previously failed to load a manifest at all.

Co-authored-by: Anders Bertelrud <[email protected]>
@neonichu neonichu force-pushed the fix-version-specific-manifest-selection branch from 01b9271 to 088b7d5 Compare August 21, 2023 20:52
@neonichu
Copy link
Contributor Author

Added a test now.

@neonichu
Copy link
Contributor Author

@swift-ci please smoke test

@neonichu
Copy link
Contributor Author

@swift-ci please smoke test windows

1 similar comment
@neonichu
Copy link
Contributor Author

@swift-ci please smoke test windows

@neonichu
Copy link
Contributor Author

¯\_(ツ)_/¯

@MaxDesiatov
Copy link
Contributor

@swift-ci test windows

@MaxDesiatov
Copy link
Contributor

@swift-ci please smoke test windows

for Windows it's just test windows for some reason

@neonichu neonichu enabled auto-merge (squash) August 21, 2023 21:33
@neonichu
Copy link
Contributor Author

Hitting the good old hang on Windows:

1338/1934 Test #1338: TestFoundation.TestProcess-test_run ..........................................................................................   Passed    0.16 sec
          Start 1339: TestFoundation.TestProcess-test_preStartEndState
Build timed out (after 60 minutes). Marking the build as aborted.
Build was aborted

@neonichu
Copy link
Contributor Author

@swift-ci test windows

@neonichu neonichu merged commit 667a006 into main Aug 22, 2023
@neonichu neonichu deleted the fix-version-specific-manifest-selection branch August 22, 2023 19:55
neonichu added a commit that referenced this pull request Aug 28, 2023
Currently, we only pick a non-exact match for version-specific manifests if its tools-version is *higher* than the regular one. That seems like an edge case only and we should *also* pick it if the regular manifest is incompatible. This both matches intuition as well as our current documentation on the topic. It should also be backwards-compatible with the current behavior since the new behavior only comes into play if we would have previously failed to load a manifest at all.

Co-authored-by: Anders Bertelrud <[email protected]>
neonichu added a commit that referenced this pull request Aug 28, 2023
Currently, we only pick a non-exact match for version-specific manifests if its tools-version is *higher* than the regular one. That seems like an edge case only and we should *also* pick it if the regular manifest is incompatible. This both matches intuition as well as our current documentation on the topic. It should also be backwards-compatible with the current behavior since the new behavior only comes into play if we would have previously failed to load a manifest at all.

Co-authored-by: Anders Bertelrud <[email protected]>
neonichu added a commit that referenced this pull request Aug 28, 2023
Currently, we only pick a non-exact match for version-specific manifests if its tools-version is *higher* than the regular one. That seems like an edge case only and we should *also* pick it if the regular manifest is incompatible. This both matches intuition as well as our current documentation on the topic. It should also be backwards-compatible with the current behavior since the new behavior only comes into play if we would have previously failed to load a manifest at all.

Co-authored-by: Anders Bertelrud <[email protected]>
neonichu added a commit that referenced this pull request Aug 28, 2023
Currently, we only pick a non-exact match for version-specific manifests if its tools-version is *higher* than the regular one. That seems like an edge case only and we should *also* pick it if the regular manifest is incompatible. This both matches intuition as well as our current documentation on the topic. It should also be backwards-compatible with the current behavior since the new behavior only comes into play if we would have previously failed to load a manifest at all.

Co-authored-by: Anders Bertelrud <[email protected]>
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.

5 participants