Skip to content

Lengthy RuntimeIdentifierGraph update roundtrip with SDK #37790

Description

@am11

A change to src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.json requires a full update cycle, which includes:

  1. a PR updating runtime.json merged in runtime repo
  2. SDK repo picks up runtime change
  3. runtime picks up the updated SDK

This blocks building CLR tests on a new platform, until all of the above has happened (or we patch SDK after the restore). For example, my current workaround is:

# workaround: overwrite file containing updated RIDs from libraries
/runtime $ cp src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.json \
    .dotnet/sdk/5.0.100-preview.6.20310.4/RuntimeIdentifierGraph.json

# then cross-compile CLR tests without getting restore errors
/runtime $ ROOTFS_DIR=$(pwd)/.tools/rootfs/x64 ./src/coreclr/build-test.sh \
    -x64 -cross -os illumos -gcc

In the age of live-live builds, is it possible to ensure LiveRuntimeIdentifierGraphPath from eng/liveBuilds.targets is properly picked up during the SDK resolution for test build? Currently it seem to have no effect (despite being imported in src/coreclr/tests/src/Common/test_dependencies/test_dependencies.csproj) and SDK ends up using .dotnet/sdk/<version>/RuntimeIdentifierGraph.json, instead of the runtime.json file pointed by LiveRuntimeIdentifierGraphPath.

cc @jashook, @jkotas

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-Infrastructure-coreclrOnly use for closed issuesuntriagedNew issue has not been triaged by the area owner

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions