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/9.0-staging] Change some workflows using pull_request to use pull_request_target instead #112164

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
60fcdfb
Fix wrong alias-to for tvos AOT packs in net8 workload manifest (#110…
akoeplinger Jan 15, 2025
114532f
[release/9.0] Disable tests targetting http://corefx-net-http11.azure…
rzikm Jan 15, 2025
e781fb7
[release/9.0-staging] Support generic fields in PersistedAssemblyBuil…
github-actions[bot] Jan 15, 2025
f2a1313
Re-enable skiasharp WBT tests (#109232) (#110734)
radekdoulik Jan 16, 2025
f9ffbe0
[release/9.0-staging] Backport test fixes related to BinaryFormatter …
adamsitnik Jan 17, 2025
e84969e
Merge pull request #111565 from carlossanlop/release/9.0
carlossanlop Jan 18, 2025
9efd46e
[release/9.0] [wasi] Disable build in .NET 9 (#108877)
maraf Jan 21, 2025
0b71788
[mono] Disable UnitTest_GVM_TypeLoadException on fullAOT (#111394)
github-actions[bot] Jan 21, 2025
eaea271
Fix `UnsafeAccessor` scenario for modopts/modreqs when comparing fiel…
AaronRobinsonMSFT Jan 24, 2025
28117b9
[release/9.0-staging] [mono] Run runtime-llvm and runtime-ioslike on …
github-actions[bot] Jan 24, 2025
db5ef46
[release/9.0-staging] fix stack 2x2 tensor along dimension 1 (#110053)
github-actions[bot] Jan 28, 2025
ea5e814
[release/9.0-staging] Fix race condition in cleanup of collectible th…
github-actions[bot] Jan 28, 2025
6061b2c
[release/9.0-staging] [iOS] Retrieve device locale in full (specific)…
github-actions[bot] Jan 29, 2025
62d433f
[release/9.0-staging] Add workflow to prevent merging a PR when the `…
github-actions[bot] Jan 29, 2025
99b4e84
Use alternative format (#111444)
github-actions[bot] Jan 30, 2025
77e45d3
Fixed referring to `_LibClang` item (#111696)
jkurdek Jan 31, 2025
6091bce
[release/9.0-staging] Fix UNC paths (#111499)
github-actions[bot] Feb 3, 2025
2e3dd8e
[release/9.0-staging] [mono] [llvm-aot] Fixed storing Vector3 into me…
github-actions[bot] Feb 4, 2025
bfcb495
Change workflows to use pull_request_target instead of pull_request e…
carlossanlop Feb 4, 2025
366eb6d
Add CODEOWNERS entry
carlossanlop Feb 4, 2025
c901d1d
Add initial readme
carlossanlop Feb 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -113,3 +113,4 @@
/docs/area-owners.* @jeffhandley
/docs/issue*.md @jeffhandley
/.github/policies/ @jeffhandley @mkArtakMSFT
/.github/workflows/ @dotnet/runtime-infrastructure
6 changes: 6 additions & 0 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Workflows

General guidance:

- Please make sure to include the @dotnet/runtime-infrastructure group as a reviewer of your PRs.
- Do not use the `pull_request` event. Use `pull_request_target` instead, as documented in [Workflows in forked repositories](https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#workflows-in-forked-repositories) and [pull_request_target](https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#pull_request_target).
25 changes: 25 additions & 0 deletions .github/workflows/check-no-merge-label.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: check-no-merge-label

permissions:
pull-requests: read

on:
pull_request_target:
types: [labeled, unlabeled]
branches:
- 'main'
- 'release/**'

jobs:
check-labels:
runs-on: ubuntu-latest
steps:
- name: Check 'NO-MERGE' label
run: |
echo "Merging permission is disabled when the 'NO-MERGE' label is applied."
if [ "${{ contains(github.event.pull_request.labels.*.name, 'NO-MERGE') }}" = "false" ]; then
exit 0
else
echo "::error:: The 'NO-MERGE' label was applied to the PR. Merging is disabled."
exit 1
fi
6 changes: 3 additions & 3 deletions .github/workflows/check-service-labels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ permissions:
pull-requests: read

on:
pull_request:
types: [opened, edited, reopened, labeled, unlabeled, synchronize]
pull_request_target:
types: [labeled, unlabeled]
branches:
- 'release/**'

Expand All @@ -15,7 +15,7 @@ jobs:
steps:
- name: Check 'Servicing-approved' label
run: |
echo "Merging permission is enabled for servicing PRs when the `Servicing-approved` label is applied."
echo "Merging permission is enabled for servicing PRs when the 'Servicing-approved' label is applied."
if [ "${{ contains(github.event.pull_request.labels.*.name, 'Servicing-approved') }}" = "true" ]; then
exit 0
else
Expand Down
18 changes: 18 additions & 0 deletions eng/pipelines/runtime-ioslike.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,24 @@

trigger: none

# To reduce the load on the pipeline, enable it only for PRs that affect Mono LLVM related code.
pr:
branches:
include:
- main
- release/*.*

paths:
include:
- src/mono/mono/mini/aot-*.*
- src/mono/mono/mini/llvm-*.*
- src/mono/mono/mini/mini-llvm-*.*
- src/mono/mono/mini/intrinsics.c
- src/mono/mono/mini/simd-*.*
- src/mono/mono/mini/decompose.c
- src/mono/mono/mini/method-to-ir.c
- src/mono/mono/mini/mini.c

variables:
- template: /eng/pipelines/common/variables.yml

Expand Down
18 changes: 18 additions & 0 deletions eng/pipelines/runtime-llvm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,24 @@ schedules:
- main
always: false # run only if there were changes since the last successful scheduled run.

# To reduce the load on the pipeline, enable it only for PRs that affect Mono LLVM related code.
pr:
branches:
include:
- main
- release/*.*

paths:
include:
- src/mono/mono/mini/aot-*.*
- src/mono/mono/mini/llvm-*.*
- src/mono/mono/mini/mini-llvm-*.*
- src/mono/mono/mini/intrinsics.c
- src/mono/mono/mini/simd-*.*
- src/mono/mono/mini/decompose.c
- src/mono/mono/mini/method-to-ir.c
- src/mono/mono/mini/mini.c

variables:
- template: /eng/pipelines/common/variables.yml

Expand Down
38 changes: 19 additions & 19 deletions eng/pipelines/runtime.yml
Original file line number Diff line number Diff line change
Expand Up @@ -926,25 +926,25 @@ extends:

# WASI/WASM

- template: /eng/pipelines/common/templates/wasm-library-tests.yml
parameters:
platforms:
- wasi_wasm
- wasi_wasm_win
nameSuffix: '_Smoke'
extraBuildArgs: /p:EnableAggressiveTrimming=true /p:RunWasmSamples=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
shouldRunSmokeOnly: true
alwaysRun: ${{ variables.isRollingBuild }}
scenarios:
- WasmTestOnWasmtime

- template: /eng/pipelines/common/templates/simple-wasm-build-tests.yml
parameters:
platforms:
- wasi_wasm
- wasi_wasm_win
extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
alwaysRun: ${{ variables.isRollingBuild }}
# - template: /eng/pipelines/common/templates/wasm-library-tests.yml
# parameters:
# platforms:
# - wasi_wasm
# - wasi_wasm_win
# nameSuffix: '_Smoke'
# extraBuildArgs: /p:EnableAggressiveTrimming=true /p:RunWasmSamples=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
# shouldRunSmokeOnly: true
# alwaysRun: ${{ variables.isRollingBuild }}
# scenarios:
# - WasmTestOnWasmtime

# - template: /eng/pipelines/common/templates/simple-wasm-build-tests.yml
# parameters:
# platforms:
# - wasi_wasm
# - wasi_wasm_win
# extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
# alwaysRun: ${{ variables.isRollingBuild }}

#
# Android devices
Expand Down
7 changes: 0 additions & 7 deletions eng/testing/scenarios/BuildWasiAppsJobsList.txt
Original file line number Diff line number Diff line change
@@ -1,7 +0,0 @@
Wasi.Build.Tests.InvariantTests
Wasi.Build.Tests.ILStripTests
Wasi.Build.Tests.SdkMissingTests
Wasi.Build.Tests.RuntimeConfigTests
Wasi.Build.Tests.WasiTemplateTests
Wasi.Build.Tests.PInvokeTableGeneratorTests
Wasi.Build.Tests.WasiLibraryModeTests
8 changes: 4 additions & 4 deletions src/coreclr/ildasm/dasm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1914,7 +1914,7 @@ BYTE* PrettyPrintCABlobValue(PCCOR_SIGNATURE &typePtr,
for(n=0; n < numElements; n++)
{
if(n) appendStr(out," ");
sprintf_s(str, 64, "%.*g", 8, (double)(*((float*)dataPtr)));
sprintf_s(str, 64, "%#.8g", (double)(*((float*)dataPtr)));
float df = (float)atof(str);
// Must compare as underlying bytes, not floating point otherwise optimizer will
// try to enregister and compare 80-bit precision number with 32-bit precision number!!!!
Expand All @@ -1933,7 +1933,7 @@ BYTE* PrettyPrintCABlobValue(PCCOR_SIGNATURE &typePtr,
{
if(n) appendStr(out," ");
char *pch;
sprintf_s(str, 64, "%.*g", 17, *((double*)dataPtr));
sprintf_s(str, 64, "%#.17g", *((double*)dataPtr));
double df = strtod(str, &pch);
// Must compare as underlying bytes, not floating point otherwise optimizer will
// try to enregister and compare 80-bit precision number with 64-bit precision number!!!!
Expand Down Expand Up @@ -2605,7 +2605,7 @@ void DumpDefaultValue(mdToken tok, __inout __nullterminated char* szString, void
case ELEMENT_TYPE_R4:
{
char szf[32];
sprintf_s(szf, 32, "%.*g", 8, (double)MDDV.m_fltValue);
sprintf_s(szf, 32, "%#.8g", (double)MDDV.m_fltValue);
float df = (float)atof(szf);
// Must compare as underlying bytes, not floating point otherwise optimizer will
// try to enregister and compare 80-bit precision number with 32-bit precision number!!!!
Expand All @@ -2619,7 +2619,7 @@ void DumpDefaultValue(mdToken tok, __inout __nullterminated char* szString, void
case ELEMENT_TYPE_R8:
{
char szf[32], *pch;
sprintf_s(szf, 32, "%.*g", 17, MDDV.m_dblValue);
sprintf_s(szf, 32, "%#.17g", MDDV.m_dblValue);
double df = strtod(szf, &pch); //atof(szf);
szf[31]=0;
// Must compare as underlying bytes, not floating point otherwise optimizer will
Expand Down
11 changes: 9 additions & 2 deletions src/coreclr/vm/prestub.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1445,11 +1445,18 @@ namespace

DWORD declArgCount;
IfFailThrow(CorSigUncompressData_EndPtr(pSig1, pEndSig1, &declArgCount));
if (pSig1 >= pEndSig1)
ThrowHR(META_E_BAD_SIGNATURE);

// UnsafeAccessors for fields require return types be byref.
// This was explicitly checked in TryGenerateUnsafeAccessor().
// UnsafeAccessors for fields require return types be byref. However, we first need to
// consume any custom modifiers which are prior to the expected ELEMENT_TYPE_BYREF in
// the RetType signature (II.23.2.11).
_ASSERTE(state.IgnoreCustomModifiers); // We should always ignore custom modifiers for field look-up.
MetaSig::ConsumeCustomModifiers(pSig1, pEndSig1);
if (pSig1 >= pEndSig1)
ThrowHR(META_E_BAD_SIGNATURE);

// The ELEMENT_TYPE_BYREF was explicitly checked in TryGenerateUnsafeAccessor().
CorElementType byRefType = CorSigUncompressElementType(pSig1);
_ASSERTE(byRefType == ELEMENT_TYPE_BYREF);

Expand Down
2 changes: 1 addition & 1 deletion src/coreclr/vm/siginfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3604,7 +3604,7 @@ BOOL CompareTypeTokens(mdToken tk1, mdToken tk2, ModuleBase *pModule1, ModuleBas
#endif //!DACCESS_COMPILE
} // CompareTypeTokens

static void ConsumeCustomModifiers(PCCOR_SIGNATURE& pSig, PCCOR_SIGNATURE pEndSig)
void MetaSig::ConsumeCustomModifiers(PCCOR_SIGNATURE& pSig, PCCOR_SIGNATURE pEndSig)
{
mdToken tk;
CorElementType type;
Expand Down
8 changes: 8 additions & 0 deletions src/coreclr/vm/siginfo.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -945,6 +945,14 @@ class MetaSig
//------------------------------------------------------------------
CorElementType GetByRefType(TypeHandle* pTy) const;

//------------------------------------------------------------------
// Consume the custom modifiers, if any, in the current signature
// and update it.
// This is a non destructive operation if the current signature is not
// pointing at a sequence of ELEMENT_TYPE_CMOD_REQD or ELEMENT_TYPE_CMOD_OPT.
//------------------------------------------------------------------
static void ConsumeCustomModifiers(PCCOR_SIGNATURE& pSig, PCCOR_SIGNATURE pEndSig);

// Struct used to capture in/out state during the comparison
// of element types.
struct CompareState
Expand Down
6 changes: 4 additions & 2 deletions src/coreclr/vm/threadstatics.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -377,7 +377,7 @@ void FreeLoaderAllocatorHandlesForTLSData(Thread *pThread)
#endif
for (const auto& entry : g_pThreadStaticCollectibleTypeIndices->CollectibleEntries())
{
_ASSERTE((entry.TlsIndex.GetIndexOffset() <= pThread->cLoaderHandles) || allRemainingIndicesAreNotValid);
_ASSERTE((entry.TlsIndex.GetIndexOffset() >= pThread->cLoaderHandles) || !allRemainingIndicesAreNotValid);
if (entry.TlsIndex.GetIndexOffset() >= pThread->cLoaderHandles)
{
#ifndef _DEBUG
Expand All @@ -390,7 +390,9 @@ void FreeLoaderAllocatorHandlesForTLSData(Thread *pThread)
{
if (pThread->pLoaderHandles[entry.TlsIndex.GetIndexOffset()] != (LOADERHANDLE)NULL)
{
entry.pMT->GetLoaderAllocator()->FreeHandle(pThread->pLoaderHandles[entry.TlsIndex.GetIndexOffset()]);
LoaderAllocator *pLoaderAllocator = entry.pMT->GetLoaderAllocator();
if (pLoaderAllocator->IsExposedObjectLive())
pLoaderAllocator->FreeHandle(pThread->pLoaderHandles[entry.TlsIndex.GetIndexOffset()]);
pThread->pLoaderHandles[entry.TlsIndex.GetIndexOffset()] = (LOADERHANDLE)NULL;
}
}
Expand Down
39 changes: 33 additions & 6 deletions src/libraries/Common/tests/System/Net/Configuration.Http.cs
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,16 @@ public static Uri[] GetEchoServerList()
if (PlatformDetection.IsFirefox)
{
// https://github.com/dotnet/runtime/issues/101115
return [RemoteEchoServer];
// [ActiveIssue("https://github.com/dotnet/runtime/issues/110578)]
// return [RemoteEchoServer];
return [];
}
return [RemoteEchoServer, SecureRemoteEchoServer, Http2RemoteEchoServer];
return [
// [ActiveIssue("https://github.com/dotnet/runtime/issues/110578)]
// RemoteEchoServer,
SecureRemoteEchoServer,
Http2RemoteEchoServer
];
}

public static readonly Uri RemoteVerifyUploadServer = new Uri("http://" + Host + "/" + VerifyUploadHandler);
Expand All @@ -82,8 +89,20 @@ public static Uri[] GetEchoServerList()
public static Uri RemoteLoopServer => new Uri("ws://" + RemoteLoopHost + "/" + RemoteLoopHandler);

public static readonly object[][] EchoServers = GetEchoServerList().Select(x => new object[] { x }).ToArray();
public static readonly object[][] VerifyUploadServers = { new object[] { RemoteVerifyUploadServer }, new object[] { SecureRemoteVerifyUploadServer }, new object[] { Http2RemoteVerifyUploadServer } };
public static readonly object[][] CompressedServers = { new object[] { RemoteDeflateServer }, new object[] { RemoteGZipServer }, new object[] { Http2RemoteDeflateServer }, new object[] { Http2RemoteGZipServer } };
public static readonly object[][] VerifyUploadServers = {
// [ActiveIssue("https://github.com/dotnet/runtime/issues/110578)]
// new object[] { RemoteVerifyUploadServer },
new object[] { SecureRemoteVerifyUploadServer },
new object[] { Http2RemoteVerifyUploadServer }
};

public static readonly object[][] CompressedServers = {
// [ActiveIssue("https://github.com/dotnet/runtime/issues/110578)]
// new object[] { RemoteDeflateServer },
new object[] { RemoteGZipServer },
new object[] { Http2RemoteDeflateServer },
new object[] { Http2RemoteGZipServer }
};

public static readonly object[][] Http2Servers = { new object[] { new Uri("https://" + Http2Host) } };
public static readonly object[][] Http2NoPushServers = { new object[] { new Uri("https://" + Http2NoPushHost) } };
Expand All @@ -97,9 +116,17 @@ public static IEnumerable<RemoteServer> GetRemoteServers()
if (PlatformDetection.IsFirefox)
{
// https://github.com/dotnet/runtime/issues/101115
return new RemoteServer[] { RemoteHttp11Server };
// [ActiveIssue("https://github.com/dotnet/runtime/issues/110578)]
// return new RemoteServer[] { RemoteHttp11Server };
return [];
}
return new RemoteServer[] { RemoteHttp11Server, RemoteSecureHttp11Server, RemoteHttp2Server };
return new RemoteServer[]
{
// [ActiveIssue("https://github.com/dotnet/runtime/issues/110578)]
// RemoteHttp11Server,
RemoteSecureHttp11Server,
RemoteHttp2Server
};
}

public static readonly IEnumerable<object[]> RemoteServersMemberData = GetRemoteServers().Select(s => new object[] { s });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,14 @@ public static object[][] GetEchoServers()
{
// https://github.com/dotnet/runtime/issues/101115
return new object[][] {
new object[] { RemoteEchoServer },
// [ActiveIssue("https://github.com/dotnet/runtime/issues/110578)]
// new object[] { RemoteEchoServer },

};
}
return new object[][] {
new object[] { RemoteEchoServer },
// [ActiveIssue("https://github.com/dotnet/runtime/issues/110578)]
// new object[] { RemoteEchoServer },
new object[] { SecureRemoteEchoServer },
};
}
Expand All @@ -43,11 +46,13 @@ public static object[][] GetEchoHeadersServers()
{
// https://github.com/dotnet/runtime/issues/101115
return new object[][] {
new object[] { RemoteEchoHeadersServer },
// [ActiveIssue("https://github.com/dotnet/runtime/issues/110578)]
// new object[] { RemoteEchoHeadersServer },
};
}
return new object[][] {
new object[] { RemoteEchoHeadersServer },
// [ActiveIssue("https://github.com/dotnet/runtime/issues/110578)]
// new object[] { RemoteEchoHeadersServer },
new object[] { SecureRemoteEchoHeadersServer },
};
}
Expand Down
Loading
Loading