Skip to content
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

[release/5.0] Set isFullMatrix to true for release/5.0 #41310

Merged

Conversation

josalem
Copy link
Contributor

@josalem josalem commented Aug 25, 2020

As discussed on #41217 and in the hopes of avoiding something like #41217 happening again, these changes set the Azure Pipeline variable isFullMatrix to true. This should cause all platform variants to run for PRs on the release/5.0 branch. Specifically, this change will cause all the jobs in runtime.yaml to evaluate their trigger condition to true.

Customer Impact

N/A

Testing

N/A

Risk

This is a purely infrastructure change that should mitigate further risk.

CC - @dotnet/runtime-infrastructure @tommcdon

@josalem josalem added this to the 5.0.0 milestone Aug 25, 2020
@josalem josalem self-assigned this Aug 25, 2020
@ghost
Copy link

ghost commented Aug 25, 2020

Tagging subscribers to this area: @ViktorHofer
See info in area-owners.md if you want to be subscribed.

@josalem josalem marked this pull request as ready for review August 25, 2020 02:18
@danmoseley
Copy link
Member

If someone knowledgeable signs off on this, it's approved to merge as it reduces 5.0 risk eg of Windows 7 issues.

@Anipik Anipik requested a review from safern August 25, 2020 03:36
Copy link
Member

@jeffschwMSFT jeffschwMSFT left a comment

Choose a reason for hiding this comment

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

Approved. Please get a cr. I will follow-up on when to merge.

@ericstj
Copy link
Member

ericstj commented Aug 26, 2020

@safern can you please have a look at this?

@safern
Copy link
Member

safern commented Aug 26, 2020

I think we should do a more surgical change here. This enables also more helix queues for libraries tests which could slow down builds and clog queues, specially since those are intentionally only set for full matrix either due to limited resources or because they have a lower priority.

Why not just add Windows 7 to the libraries tests runs against a Checked runtime instead?

@josalem
Copy link
Contributor Author

josalem commented Aug 26, 2020

The intention was to mirror what we have set up for release/3.1. This change only sets isFullMatrix for release/5.0, which I would hope has much, much lower PR traffic than master at this point. If we want to do something more surgical till a later RC release, though, that is understandable. I don't think we'd do something as heavy handed as this in master, though, for the reasons you mentioned @safern.

@safern
Copy link
Member

safern commented Aug 26, 2020

I think 5.0 is still having enough traffic to not do it yet, but I don't know what other folks think.

@safern
Copy link
Member

safern commented Aug 26, 2020

Btw I agree we should do this, however I don't know if we should do it yet.

@josalem
Copy link
Contributor Author

josalem commented Aug 26, 2020

Then it seems like we're in consensus on this patch being merged, but we need to agree on the timing. I'm content to wait till traffic dies down a little bit if validation and CI time is a concern.

Let me look into what the surgical version would look like. If we are specifically looking to enable Windows 7, we may need to modify platform-matrix.yml and then plumb the change back up to the pipelines.

Copy link
Member

@safern safern left a comment

Choose a reason for hiding this comment

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

I'll approve as the change makes sense, but we should wait on timing consensus.

cc: @jkotas @danmosemsft

@ericstj
Copy link
Member

ericstj commented Aug 27, 2020

I agree. At least wait until after we are in tactics ask mode.

@akoeplinger
Copy link
Member

akoeplinger commented Aug 27, 2020

The test failures seem valid/real though.

@ericstj
Copy link
Member

ericstj commented Aug 27, 2020

Presumably any failures here are also showing up in CI builds — cc @Anipik

@ericstj
Copy link
Member

ericstj commented Aug 27, 2020

So every test is failing on Windows7 with HRESULT: 0x8007007F, ERROR_PROC_NOT_FOUND. This appears to be #41217. @josalem perhaps you just need to rerun to ensure this was built with #41305.

Looks like most Linux builds are seeing a failure of System.Net.Security.Tests.ServerAsyncAuthenticateTest.ServerAsyncAuthenticate_SniSetVersion_Success(version: Tls11). @wfurt looks similar to #39445 is something missing from release/3.0?

System.AggregateException : One or more errors occurred. (One or more errors occurred. (Authentication failed, see inner exception.)) (One or more errors occurred. (Authentication failed, see inner exception.))\n---- System.AggregateException : One or more errors occurred. (Authentication failed, see inner exception.)\n-------- System.Security.Authentication.AuthenticationException : Authentication failed, see inner exception.\n------------ Interop+OpenSsl+SslException : SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL.\n---------------- Interop+Crypto+OpenSslCryptographicException : error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version\n---- System.AggregateException : One or more errors occurred. (Authentication failed, see inner exception.)\n-------- System.Security.Authentication.AuthenticationException : Authentication failed, see inner exception.\n------------ Interop+OpenSsl+SslException : SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL.\n---------------- Interop+Crypto+OpenSslCryptographicException : error:14209102:SSL routines:tls_early_post_process_client_hello:unsupported protocol


Stack trace
   at System.Threading.Tasks.TaskTimeoutExtensions.WhenAllOrAnyFailed(Task[] tasks) in /_/src/libraries/Common/tests/System/Threading/Tasks/TaskTimeoutExtensions.cs:line 122
   at System.Threading.Tasks.TaskTimeoutExtensions.WhenAllOrAnyFailed(Task[] tasks, Int32 millisecondsTimeout) in /_/src/libraries/Common/tests/System/Threading/Tasks/TaskTimeoutExtensions.cs:line 84
   at System.Net.Security.Tests.ServerAsyncAuthenticateTest.ServerAsyncAuthenticate_SniSetVersion_Success(SslProtocols version) in /_/src/libraries/System.Net.Security/tests/FunctionalTests/ServerAsyncAuthenticateTest.cs:line 123
--- End of stack trace from previous location ---
----- Inner Stack Trace #1 (System.AggregateException) -----

----- Inner Stack Trace -----
   at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm) in /_/src/libraries/System.Net.Security/src/System/Net/Security/SslStream.Implementation.cs:line 393
   at System.Threading.Tasks.TaskTimeoutExtensions.WhenAllOrAnyFailed(Task[] tasks) in /_/src/libraries/Common/tests/System/Threading/Tasks/TaskTimeoutExtensions.cs:line 96
----- Inner Stack Trace -----
   at Interop.OpenSsl.DoSslHandshake(SafeSslHandle context, ReadOnlySpan`1 input, Byte[]& sendBuf, Int32& sendCount) in /_/src/libraries/Common/src/Interop/Unix/System.Security.Cryptography.Native/Interop.OpenSsl.cs:line 282
   at System.Net.Security.SslStreamPal.HandshakeInternal(SafeFreeCredentials credential, SafeDeleteSslContext& context, ReadOnlySpan`1 inputBuffer, Byte[]& outputBuffer, SslAuthenticationOptions sslAuthenticationOptions) in /_/src/libraries/System.Net.Security/src/System/Net/Security/SslStreamPal.Unix.cs:line 114
----- Inner Stack Trace -----

----- Inner Stack Trace #2 (System.AggregateException) -----

----- Inner Stack Trace -----
   at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm) in /_/src/libraries/System.Net.Security/src/System/Net/Security/SslStream.Implementation.cs:line 393
----- Inner Stack Trace -----
   at Interop.OpenSsl.DoSslHandshake(SafeSslHandle context, ReadOnlySpan`1 input, Byte[]& sendBuf, Int32& sendCount) in /_/src/libraries/Common/src/Interop/Unix/System.Security.Cryptography.Native/Interop.OpenSsl.cs:line 282
   at System.Net.Security.SslStreamPal.HandshakeInternal(SafeFreeCredentials credential, SafeDeleteSslContext& context, ReadOnlySpan`1 inputBuffer, Byte[]& outputBuffer, SslAuthenticationOptions sslAuthenticationOptions) in /_/src/libraries/System.Net.Security/src/System/Net/Security/SslStreamPal.Unix.cs:line 114
----- Inner Stack Trace -----

@josalem josalem force-pushed the dev/josalem/enable-fullmatrix-release branch from 72a6536 to dfe65d5 Compare August 27, 2020 17:55
@josalem
Copy link
Contributor Author

josalem commented Aug 27, 2020

@ericstj rebasing to make sure it has all the newest changes including the revert of that PR.

@wfurt
Copy link
Member

wfurt commented Aug 27, 2020

The ssl should be fixed with #41372 for 5.0. If we still see failures I can investigate.

@wfurt
Copy link
Member

wfurt commented Aug 27, 2020

osx failure is #36466

@Anipik
Copy link
Contributor

Anipik commented Oct 9, 2020

@ericstj @safern is this a good time to merge this one ?

@ericstj
Copy link
Member

ericstj commented Oct 9, 2020

Let's make sure to rerun CI and get fresh results.

@Anipik Anipik force-pushed the dev/josalem/enable-fullmatrix-release branch from dfe65d5 to c0d5388 Compare October 9, 2020 17:59
@Anipik
Copy link
Contributor

Anipik commented Oct 9, 2020

rebased to get the lastest runtime & running the ci

@Anipik
Copy link
Contributor

Anipik commented Oct 9, 2020

Failures are known #43166

@Anipik Anipik merged commit cdbb29a into dotnet:release/5.0 Oct 9, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 7, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants