Skip to content

ci: select x86_64 asset when upstream ships multi-arch releases#544

Open
OptimoSupreme wants to merge 1 commit into
bottlesdevs:mainfrom
OptimoSupreme:fix/ge-proton-multiarch-asset-selection
Open

ci: select x86_64 asset when upstream ships multi-arch releases#544
OptimoSupreme wants to merge 1 commit into
bottlesdevs:mainfrom
OptimoSupreme:fix/ge-proton-multiarch-asset-selection

Conversation

@OptimoSupreme

Copy link
Copy Markdown

Problem

Fix for #542 Since GE-Proton11-1, GloriousEggroll publishes an -aarch64 build alongside
the x86_64 one on each release. The asset-selection loop in
pull-components.yml stops at the first asset matching
<name-prefix>...[0-9]+<name-suffix>.tar.*, and the aarch64 tarball is
returned first, so the importer selects GE-Proton11-1-aarch64.tar.gz — the
wrong architecture. This is what's currently blocking #542 (flagged there by
@jntesteves).

Why not a -x86_64 name-suffix

The x86_64 build keeps the legacy unsuffixed name (GE-Proton11-1.tar.gz);
there is no -x86_64 asset to match, so adding a suffix would break selection
with "Cannot find a corresponding asset name."

Fix

Skip aarch64/arm64 assets in the selection loop so it falls through to the
x86_64 build. Bottles only ships x86_64 runners, so this is safe, and it also
future-proofs the identically-configured wine-ge-custom row.

Verification

Simulated the loop against the real GE-Proton11-1 asset list:

  • before: GE-Proton11-1-aarch64.tar.gz
  • after: GE-Proton11-1.tar.gz

Regression-checked single-asset (GE-Proton10-34), -x86_64-suffixed (CachyOS),
and arch-less (dxvk) rows, all of which are unchanged.

Once merged, the next scheduled pull-components run will regenerate the
GE-Proton11 entry in #542 with the correct x86_64 asset.

GE-Proton publishes an -aarch64 build alongside the x86_64 one starting
with v11. The asset-selection loop in pull-components.yml stops at the
first asset matching <name-prefix>...[0-9]+<name-suffix>.tar.*, and the
aarch64 tarball is returned first, so the importer picked
GE-Proton11-1-aarch64.tar.gz -- the wrong architecture (see bottlesdevs#542).

The x86_64 build keeps the legacy unsuffixed name (GE-Proton11-1.tar.gz),
so a name-suffix filter cannot select it. Skip aarch64/arm64 assets in
the loop instead so it falls through to the x86_64 build. This also
future-proofs the identically-configured wine-ge-custom row.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant