Skip to content

Asset ranking: platform words in tool names, universal macOS builds, amd64 levels #137

Description

@roxblnfk

Follow-ups to the asset ranking from #136. Each case picks a wrong build or none; none of them is a regression.

Platform words inside a tool name

Platform tokens are matched anywhere in the asset name, so a tool name that contains one changes the detected platform:

  • android-tools-linux-x64.zip is read as an Android build, and a strict selection on Linux finds nothing.
  • musl-… or gnu-… tool names set the libc the same way.

A token should count only in the platform part of the name, for example after another OS or arch token (linux-android, -musl).

Universal macOS builds

darwin-universal, macOS_all and the like have no arch token. Strict selection drops them; gradual selection on an ARM Mac ranks them below darwin-amd64. Some tools ship only these (Hugo, TigerBeetle's macOS build). ArchitectureRule could rank a universal build 0 on macOS.

Microarchitecture levels

amd64_v3 is read as a version token, so _v1 and _v3 builds tie and release order decides: a v3 build can be picked on a CPU without AVX2. Levels above v1 need a CPU check (reliable on Linux through /proc/cpuinfo), or should rank below the v1 build.

Acceptance

A case in tests/Unit/Module/Downloader/Internal/AssetSelection/AssetSelectorTest.php for each item.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions