{"action":"created","comment":{"url":"https://api.github.com/repos/dotnet/coreclr/pulls/comments/210449311","pull_request_review_id":146666374,"id":210449311,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxMDQ0OTMxMQ==","diff_hunk":"@@ -0,0 +1,372 @@\n+#!  /usr/bin/env python\n+\n+import argparse\n+import glob\n+import json\n+import hashlib\n+import os\n+import tempfile\n+import sys\n+import subprocess\n+\n+g_Framework_Assemblies = [\n+    'CommandLine.dll',\n+    'Microsoft.CodeAnalysis.CSharp.dll',\n+    'Microsoft.CodeAnalysis.dll',\n+    'Microsoft.CodeAnalysis.VisualBasic.dll',\n+    'Microsoft.CSharp.dll',\n+    'Microsoft.Diagnostics.FastSerialization.dll',\n+    'Microsoft.Diagnostics.Tracing.TraceEvent.dll',\n+    'Microsoft.DotNet.Cli.Utils.dll',\n+    'Microsoft.DotNet.InternalAbstractions.dll',\n+    'Microsoft.DotNet.ProjectModel.dll',\n+    'Microsoft.Extensions.DependencyModel.dll',\n+#   'Microsoft.VisualBasic.dll', see https://github.com/dotnet/coreclr/issues/19370\n+    'Microsoft.Win32.Primitives.dll',\n+    'Microsoft.Win32.Registry.dll',\n+    'netstandard.dll',\n+    'Newtonsoft.Json.dll',\n+    'NuGet.Common.dll'\n+    'NuGet.Configuration.dll',\n+    'NuGet.DependencyResolver.Core.dll',\n+    'NuGet.Frameworks.dll',\n+    'NuGet.LibraryModel.dll',\n+    'NuGet.Packaging.Core.dll',\n+    'NuGet.Packaging.Core.Types.dll',\n+    'NuGet.Packaging.dll',\n+    'NuGet.ProjectModel.dll',\n+    'NuGet.Protocol.Core.Types.dll',\n+    'NuGet.Protocol.Core.v3.dll',\n+    'NuGet.Repositories.dll',\n+    'NuGet.RuntimeModel.dll',\n+    'NuGet.Versioning.dll',\n+    'System.AppContext.dll',\n+    'System.Buffers.dll',\n+    'System.Collections.Concurrent.dll',\n+    'System.Collections.dll',\n+    'System.Collections.Immutable.dll',\n+    'System.Collections.NonGeneric.dll',\n+    'System.Collections.Specialized.dll',\n+    'System.CommandLine.dll',\n+    'System.ComponentModel.Annotations.dll',\n+    'System.ComponentModel.DataAnnotations.dll',\n+    'System.ComponentModel.dll',\n+    'System.ComponentModel.EventBasedAsync.dll',\n+    'System.ComponentModel.Primitives.dll',\n+    'System.ComponentModel.TypeConverter.dll',\n+    'System.Configuration.dll',\n+    'System.Console.dll',\n+    'System.Core.dll',\n+    'System.Data.Common.dll',\n+    'System.Data.dll',\n+    'System.Diagnostics.Contracts.dll',\n+    'System.Diagnostics.Debug.dll',\n+    'System.Diagnostics.DiagnosticSource.dll',\n+    'System.Diagnostics.EventLog.dll',\n+    'System.Diagnostics.FileVersionInfo.dll',\n+    'System.Diagnostics.Process.dll',\n+    'System.Diagnostics.StackTrace.dll',\n+    'System.Diagnostics.TextWriterTraceListener.dll',\n+    'System.Diagnostics.Tools.dll',\n+    'System.Diagnostics.TraceSource.dll',\n+    'System.Diagnostics.Tracing.dll',\n+    'System.dll',\n+    'System.Drawing.dll',\n+    'System.Drawing.Primitives.dll',\n+    'System.Dynamic.Runtime.dll',\n+    'System.Globalization.Calendars.dll',\n+    'System.Globalization.dll',\n+    'System.Globalization.Extensions.dll',\n+    'System.IO.Compression.Brotli.dll',\n+    'System.IO.Compression.dll',\n+    'System.IO.Compression.FileSystem.dll',\n+    'System.IO.Compression.ZipFile.dll',\n+    'System.IO.dll',\n+    'System.IO.FileSystem.AccessControl.dll',\n+    'System.IO.FileSystem.dll',\n+    'System.IO.FileSystem.DriveInfo.dll',\n+    'System.IO.FileSystem.Primitives.dll',\n+    'System.IO.FileSystem.Watcher.dll',\n+    'System.IO.IsolatedStorage.dll',\n+    'System.IO.MemoryMappedFiles.dll',\n+    'System.IO.Pipes.AccessControl.dll',\n+    'System.IO.Pipes.dll',\n+    'System.IO.UnmanagedMemoryStream.dll',\n+    'System.Linq.dll',\n+    'System.Linq.Expressions.dll',\n+    'System.Linq.Parallel.dll',\n+    'System.Linq.Queryable.dll',\n+    'System.Memory.dll',\n+    'System.Net.dll',\n+    'System.Net.Http.dll',\n+    'System.Net.HttpListener.dll',\n+    'System.Net.Mail.dll',\n+    'System.Net.NameResolution.dll',\n+    'System.Net.NetworkInformation.dll',\n+    'System.Net.Ping.dll',\n+    'System.Net.Primitives.dll',\n+    'System.Net.Requests.dll',\n+    'System.Net.Security.dll',\n+    'System.Net.ServicePoint.dll',\n+    'System.Net.Sockets.dll',\n+    'System.Net.WebClient.dll',\n+    'System.Net.WebHeaderCollection.dll',\n+    'System.Net.WebProxy.dll',\n+    'System.Net.WebSockets.Client.dll',\n+    'System.Net.WebSockets.dll',\n+    'System.Numerics.dll',\n+    'System.Numerics.Vectors.dll',\n+    'System.ObjectModel.dll',\n+    'System.Private.DataContractSerialization.dll',\n+    'System.Private.Uri.dll',\n+    'System.Private.Xml.dll',\n+    'System.Private.Xml.Linq.dll',\n+    'System.Reflection.DispatchProxy.dll',\n+    'System.Reflection.dll',\n+    'System.Reflection.Emit.dll',\n+    'System.Reflection.Emit.ILGeneration.dll',\n+    'System.Reflection.Emit.Lightweight.dll',\n+    'System.Reflection.Extensions.dll',\n+    'System.Reflection.Metadata.dll',\n+    'System.Reflection.Primitives.dll',\n+    'System.Reflection.TypeExtensions.dll',\n+    'System.Resources.Reader.dll',\n+    'System.Resources.ResourceManager.dll',\n+    'System.Resources.Writer.dll',\n+    'System.Runtime.CompilerServices.Unsafe.dll',\n+    'System.Runtime.CompilerServices.VisualC.dll',\n+    'System.Runtime.dll',\n+    'System.Runtime.Extensions.dll',\n+    'System.Runtime.Handles.dll',\n+    'System.Runtime.InteropServices.dll',\n+    'System.Runtime.InteropServices.RuntimeInformation.dll',\n+    'System.Runtime.InteropServices.WindowsRuntime.dll',\n+    'System.Runtime.Intrinsics.Experimental.dll',\n+    'System.Runtime.Loader.dll',\n+    'System.Runtime.Numerics.dll',\n+    'System.Runtime.Serialization.dll',\n+    'System.Runtime.Serialization.Formatters.dll',\n+    'System.Runtime.Serialization.Json.dll',\n+    'System.Runtime.Serialization.Primitives.dll',\n+    'System.Runtime.Serialization.Xml.dll',\n+    'System.Security.AccessControl.dll',\n+    'System.Security.Claims.dll',\n+    'System.Security.Cryptography.Algorithms.dll',\n+    'System.Security.Cryptography.Cng.dll',\n+    'System.Security.Cryptography.Csp.dll',\n+    'System.Security.Cryptography.Encoding.dll',\n+    'System.Security.Cryptography.OpenSsl.dll',\n+    'System.Security.Cryptography.Primitives.dll',\n+    'System.Security.Cryptography.X509Certificates.dll',\n+    'System.Security.dll',\n+    'System.Security.Permissions.dll',\n+    'System.Security.Principal.dll',\n+    'System.Security.Principal.Windows.dll',\n+    'System.Security.SecureString.dll',\n+    'System.ServiceModel.Web.dll',\n+    'System.ServiceProcess.dll',\n+    'System.Text.Encoding.CodePages.dll',\n+    'System.Text.Encoding.dll',\n+    'System.Text.Encoding.Extensions.dll',\n+    'System.Text.RegularExpressions.dll',\n+    'System.Threading.AccessControl.dll',\n+    'System.Threading.dll',\n+    'System.Threading.Overlapped.dll',\n+    'System.Threading.Tasks.Dataflow.dll',\n+    'System.Threading.Tasks.dll',\n+    'System.Threading.Tasks.Extensions.dll',\n+    'System.Threading.Tasks.Parallel.dll',\n+    'System.Threading.Thread.dll',\n+    'System.Threading.ThreadPool.dll',\n+    'System.Threading.Timer.dll',\n+    'System.Transactions.dll',\n+    'System.Transactions.Local.dll',\n+    'System.ValueTuple.dll',\n+    'System.Web.dll',\n+    'System.Web.HttpUtility.dll',\n+    'System.Windows.dll',\n+    'System.Xml.dll',\n+    'System.Xml.Linq.dll',\n+    'System.Xml.ReaderWriter.dll',\n+    'System.Xml.Serialization.dll',\n+    'System.Xml.XDocument.dll',\n+    'System.Xml.XmlDocument.dll',\n+    'System.Xml.XmlSerializer.dll',\n+    'System.Xml.XPath.dll',\n+    'System.Xml.XPath.XDocument.dll',\n+    'TraceReloggerLib.dll',\n+    'WindowsBase.dll',\n+    'xunit.abstractions.dll',\n+    'xunit.assert.dll',\n+    'xunit.core.dll',\n+    'xunit.execution.dotnet.dll',\n+    'xunit.performance.core.dll',\n+    'xunit.performance.execution.dll',\n+    'xunit.performance.metrics.dll',\n+    'xunit.runner.utility.dotnet.dll']\n+\n+class CrossGenRunner:\n+    def __init__(self, crossgen_executable_filename, no_logo=True):\n+        self.crossgen_executable_filename = crossgen_executable_filename\n+        self.no_logo = no_logo\n+        self.platform_assemblies_paths_sep = \";\"\n+\n+    def run(self, in_filename, out_filename, platform_assemblies_paths):\n+        p = subprocess.Popen(self._build_args(in_filename, out_filename, platform_assemblies_paths), stdout=subprocess.PIPE, stderr=subprocess.PIPE)\n+        stdout, stderr = p.communicate()\n+        return (p.returncode, stdout.decode(), stderr.decode())\n+\n+    def _build_args(self, in_filename, out_filename, platform_assemblies_paths):\n+        args = []\n+        args.append(self.crossgen_executable_filename)\n+        if self.no_logo:\n+           args.append('/nologo')\n+        args.append('/Platform_Assemblies_Paths')\n+        args.append(self.platform_assemblies_paths_sep.join(platform_assemblies_paths))\n+        args.append('/out')\n+        args.append(out_filename)\n+        args.append(in_filename)\n+        return args\n+\n+def compute_file_hashsum(filename):\n+    algo=hashlib.sha256()\n+    block_size_in_bytes = 65536\n+    with open(filename, 'rb') as file:\n+        while True:\n+            block = file.read(block_size_in_bytes)","path":"tests/scripts/crossgen_comparison.py","position":236,"original_position":236,"commit_id":"f1f7bd8d89233a834deeb2d4b7e0353ee94f1561","original_commit_id":"f1f7bd8d89233a834deeb2d4b7e0353ee94f1561","user":{"login":"BruceForstall","id":10901265,"node_id":"MDQ6VXNlcjEwOTAxMjY1","avatar_url":"https://avatars3.githubusercontent.com/u/10901265?v=4","gravatar_id":"","url":"https://api.github.com/users/BruceForstall","html_url":"https://github.com/BruceForstall","followers_url":"https://api.github.com/users/BruceForstall/followers","following_url":"https://api.github.com/users/BruceForstall/following{/other_user}","gists_url":"https://api.github.com/users/BruceForstall/gists{/gist_id}","starred_url":"https://api.github.com/users/BruceForstall/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BruceForstall/subscriptions","organizations_url":"https://api.github.com/users/BruceForstall/orgs","repos_url":"https://api.github.com/users/BruceForstall/repos","events_url":"https://api.github.com/users/BruceForstall/events{/privacy}","received_events_url":"https://api.github.com/users/BruceForstall/received_events","type":"User","site_admin":false},"body":"Q: Does this read \"up to block_size_in_bytes\"? Wouldn't want it to fail or skip the data if it was less.","created_at":"2018-08-16T00:32:34Z","updated_at":"2018-08-16T00:54:36Z","html_url":"https://github.com/dotnet/coreclr/pull/19514#discussion_r210449311","pull_request_url":"https://api.github.com/repos/dotnet/coreclr/pulls/19514","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/comments/210449311"},"html":{"href":"https://github.com/dotnet/coreclr/pull/19514#discussion_r210449311"},"pull_request":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/19514"}}},"pull_request":{"url":"https://api.github.com/repos/dotnet/coreclr/pulls/19514","id":208709644,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA4NzA5NjQ0","html_url":"https://github.com/dotnet/coreclr/pull/19514","diff_url":"https://github.com/dotnet/coreclr/pull/19514.diff","patch_url":"https://github.com/dotnet/coreclr/pull/19514.patch","issue_url":"https://api.github.com/repos/dotnet/coreclr/issues/19514","number":19514,"state":"open","locked":false,"title":" Introduce CrossGen Comparison scenario","user":{"login":"echesakovMSFT","id":5292656,"node_id":"MDQ6VXNlcjUyOTI2NTY=","avatar_url":"https://avatars3.githubusercontent.com/u/5292656?v=4","gravatar_id":"","url":"https://api.github.com/users/echesakovMSFT","html_url":"https://github.com/echesakovMSFT","followers_url":"https://api.github.com/users/echesakovMSFT/followers","following_url":"https://api.github.com/users/echesakovMSFT/following{/other_user}","gists_url":"https://api.github.com/users/echesakovMSFT/gists{/gist_id}","starred_url":"https://api.github.com/users/echesakovMSFT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/echesakovMSFT/subscriptions","organizations_url":"https://api.github.com/users/echesakovMSFT/orgs","repos_url":"https://api.github.com/users/echesakovMSFT/repos","events_url":"https://api.github.com/users/echesakovMSFT/events{/privacy}","received_events_url":"https://api.github.com/users/echesakovMSFT/received_events","type":"User","site_admin":false},"body":"This introduces a new CI scenario that will be run against each PR and does the following:\r\n1. Build Linux/arm coreclr under Docker on Linux/x64\r\n2. Generate layout only in Core_Root\r\n3. Run x86_arm crossgen on System.Private.CoreLib.dll and all assemblies in Core_Root\r\n4. Collect information about x86_arm crossgen behavior and output such as return code, stdout/stderr, sha256 hash of the resulting file (this is done via tests/scripts/crossgen_comparison.py)\r\n5. Copy the collected information and some binaries to Linux/arm machine\r\n6. Run arm_arm crossgen on the same set of assemblies and collect all the information as in 4\r\n7. Do **comparison** of behaviors of x86_arm and arm_arm crossgens\r\n\r\n**NOTE:** This job is restricted to Ubuntu arm Checked which will be relaxed later to other cross-compilation scenarios. `Microsoft.VisualBasic.dll` assembly is excluded due to https://github.com/dotnet/coreclr/issues/19370\r\n\r\nThe changes has been tested in #19455\r\n\r\n/cc @dotnet/jit-contrib \r\n\r\n","created_at":"2018-08-15T23:37:19Z","updated_at":"2018-08-16T00:54:36Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9bb30df32d3e3714fccfcaad69d593da73cc39d7","assignee":null,"assignees":[],"requested_reviewers":[{"login":"jashook","id":2723327,"node_id":"MDQ6VXNlcjI3MjMzMjc=","avatar_url":"https://avatars0.githubusercontent.com/u/2723327?v=4","gravatar_id":"","url":"https://api.github.com/users/jashook","html_url":"https://github.com/jashook","followers_url":"https://api.github.com/users/jashook/followers","following_url":"https://api.github.com/users/jashook/following{/other_user}","gists_url":"https://api.github.com/users/jashook/gists{/gist_id}","starred_url":"https://api.github.com/users/jashook/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jashook/subscriptions","organizations_url":"https://api.github.com/users/jashook/orgs","repos_url":"https://api.github.com/users/jashook/repos","events_url":"https://api.github.com/users/jashook/events{/privacy}","received_events_url":"https://api.github.com/users/jashook/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/dotnet/coreclr/pulls/19514/commits","review_comments_url":"https://api.github.com/repos/dotnet/coreclr/pulls/19514/comments","review_comment_url":"https://api.github.com/repos/dotnet/coreclr/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet/coreclr/issues/19514/comments","statuses_url":"https://api.github.com/repos/dotnet/coreclr/statuses/f1f7bd8d89233a834deeb2d4b7e0353ee94f1561","head":{"label":"dotnet:dev/unix_test_workflow","ref":"dev/unix_test_workflow","sha":"f1f7bd8d89233a834deeb2d4b7e0353ee94f1561","user":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"repo":{"id":30092893,"node_id":"MDEwOlJlcG9zaXRvcnkzMDA5Mjg5Mw==","name":"coreclr","full_name":"dotnet/coreclr","owner":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dotnet/coreclr","description":"This repo contains the .NET Core runtime, called CoreCLR, and the base library, called System.Private.Corelib (or mscorlib). It includes the garbage collector, JIT compiler, base .NET data types and many low-level classes. We welcome contributions.","fork":false,"url":"https://api.github.com/repos/dotnet/coreclr","forks_url":"https://api.github.com/repos/dotnet/coreclr/forks","keys_url":"https://api.github.com/repos/dotnet/coreclr/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/coreclr/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/coreclr/teams","hooks_url":"https://api.github.com/repos/dotnet/coreclr/hooks","issue_events_url":"https://api.github.com/repos/dotnet/coreclr/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/coreclr/events","assignees_url":"https://api.github.com/repos/dotnet/coreclr/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/coreclr/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/coreclr/tags","blobs_url":"https://api.github.com/repos/dotnet/coreclr/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/coreclr/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/coreclr/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/coreclr/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/coreclr/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/coreclr/languages","stargazers_url":"https://api.github.com/repos/dotnet/coreclr/stargazers","contributors_url":"https://api.github.com/repos/dotnet/coreclr/contributors","subscribers_url":"https://api.github.com/repos/dotnet/coreclr/subscribers","subscription_url":"https://api.github.com/repos/dotnet/coreclr/subscription","commits_url":"https://api.github.com/repos/dotnet/coreclr/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/coreclr/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/coreclr/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/coreclr/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/coreclr/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/coreclr/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/coreclr/merges","archive_url":"https://api.github.com/repos/dotnet/coreclr/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/coreclr/downloads","issues_url":"https://api.github.com/repos/dotnet/coreclr/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/coreclr/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/coreclr/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/coreclr/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/coreclr/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/coreclr/releases{/id}","deployments_url":"https://api.github.com/repos/dotnet/coreclr/deployments","created_at":"2015-01-30T22:10:02Z","updated_at":"2018-08-16T00:05:45Z","pushed_at":"2018-08-16T00:51:11Z","git_url":"git://github.com/dotnet/coreclr.git","ssh_url":"git@github.com:dotnet/coreclr.git","clone_url":"https://github.com/dotnet/coreclr.git","svn_url":"https://github.com/dotnet/coreclr","homepage":"https://github.com/dotnet/core","size":236527,"stargazers_count":9741,"watchers_count":9741,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2404,"mirror_url":null,"archived":false,"open_issues_count":1791,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":2404,"open_issues":1791,"watchers":9741,"default_branch":"master"}},"base":{"label":"dotnet:master","ref":"master","sha":"a8e22205c4d9c8660449f66fabe7a1e46c681023","user":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"repo":{"id":30092893,"node_id":"MDEwOlJlcG9zaXRvcnkzMDA5Mjg5Mw==","name":"coreclr","full_name":"dotnet/coreclr","owner":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dotnet/coreclr","description":"This repo contains the .NET Core runtime, called CoreCLR, and the base library, called System.Private.Corelib (or mscorlib). It includes the garbage collector, JIT compiler, base .NET data types and many low-level classes. We welcome contributions.","fork":false,"url":"https://api.github.com/repos/dotnet/coreclr","forks_url":"https://api.github.com/repos/dotnet/coreclr/forks","keys_url":"https://api.github.com/repos/dotnet/coreclr/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/coreclr/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/coreclr/teams","hooks_url":"https://api.github.com/repos/dotnet/coreclr/hooks","issue_events_url":"https://api.github.com/repos/dotnet/coreclr/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/coreclr/events","assignees_url":"https://api.github.com/repos/dotnet/coreclr/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/coreclr/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/coreclr/tags","blobs_url":"https://api.github.com/repos/dotnet/coreclr/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/coreclr/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/coreclr/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/coreclr/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/coreclr/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/coreclr/languages","stargazers_url":"https://api.github.com/repos/dotnet/coreclr/stargazers","contributors_url":"https://api.github.com/repos/dotnet/coreclr/contributors","subscribers_url":"https://api.github.com/repos/dotnet/coreclr/subscribers","subscription_url":"https://api.github.com/repos/dotnet/coreclr/subscription","commits_url":"https://api.github.com/repos/dotnet/coreclr/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/coreclr/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/coreclr/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/coreclr/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/coreclr/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/coreclr/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/coreclr/merges","archive_url":"https://api.github.com/repos/dotnet/coreclr/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/coreclr/downloads","issues_url":"https://api.github.com/repos/dotnet/coreclr/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/coreclr/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/coreclr/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/coreclr/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/coreclr/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/coreclr/releases{/id}","deployments_url":"https://api.github.com/repos/dotnet/coreclr/deployments","created_at":"2015-01-30T22:10:02Z","updated_at":"2018-08-16T00:05:45Z","pushed_at":"2018-08-16T00:51:11Z","git_url":"git://github.com/dotnet/coreclr.git","ssh_url":"git@github.com:dotnet/coreclr.git","clone_url":"https://github.com/dotnet/coreclr.git","svn_url":"https://github.com/dotnet/coreclr","homepage":"https://github.com/dotnet/core","size":236527,"stargazers_count":9741,"watchers_count":9741,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2404,"mirror_url":null,"archived":false,"open_issues_count":1791,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":2404,"open_issues":1791,"watchers":9741,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/19514"},"html":{"href":"https://github.com/dotnet/coreclr/pull/19514"},"issue":{"href":"https://api.github.com/repos/dotnet/coreclr/issues/19514"},"comments":{"href":"https://api.github.com/repos/dotnet/coreclr/issues/19514/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/19514/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/19514/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet/coreclr/statuses/f1f7bd8d89233a834deeb2d4b7e0353ee94f1561"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"BruceForstall"}}