Skip to content

Make working with -musl- RIDs easier #647

@baronfel

Description

@baronfel

Today, you can't publish containers for a project with a list of RIDs that contains musl and non-musl Linux RID values. This is because we take the set of RIDs and check it against the platforms supported by the base image we choose - if there are any RIDs that are unsupported by the selected base image then we bail out.

This bail-out behavior is an artifact of us choosing a single base image - because for the .NET containers the base images are usually Debian/Ubuntu OR Alpine, each image only supports glibc- or musl- based RIDs.

We could make this process easier by being more intelligent about how we partition the RIDs for compatibility-checking when selecting the base image(s) - instead of forcing the use of a single base image as part of inference, we could instead infer a set of base images and 'assign' specific RIDs to each of those base images. Then, when we set up the inner builds, each build would be given its specific base image and RID to build for exactly as we do today.

The main difference we would want to make is to automatically apply a -alpine tag section to the tags for the musl-based RIDs, to ensure that users don't use the Alpine variants accidentally.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area: InferenceChanges to base image inference

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions