Skip to content

Lengthy RuntimeIdentifierGraph update roundtrip with SDK #37790

@am11

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

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions