Skip to content

32bit-ci: i386 job fails installing recommended GHC (9.10.3 deb10 bindist) on bionic container #596

Description

@sjakobi

Summary

The i386 job in the 32bit-ci workflow is failing during environment setup, before any of our code is built. It fails when ghcup installs GHC:

[ Error ] Process "make" with arguments ["install"] failed with exit code 2.
"ghcup --metadata-fetching-mode=Strict --cache install ghc recommended" failed!
##[error]Process completed with exit code 2.

This affects every PR (it first showed up on an unrelated Dependabot PR, #595, where all other 11 checks are green) and will hit the next push to master too.

Root cause

.github/workflows/32bit-ci.yml bootstraps ghcup and installs the recommended GHC, which is unpinned. The recommended version was bumped in ghcup-metadata, and the new i386 bindist no longer installs on our old container:

Run Date Recommended GHC i386 bindist make install
master (last green) 2026-06-11 9.6.7 ghc-9.6.7-i386-deb9-linux
PR #595 (+ re-run) 2026-06-25 9.10.3 ghc-9.10.3-i386-deb10-linux ❌ exit 2

The container is i386/ubuntu:bionic (18.04). The new bindist is built for deb10 (Debian buster); its installer make install fails on bionic, most likely because the bindist's toolchain/libc expectations are newer than what bionic provides. The exact error is written by ghcup to ~/.ghcup/logs, which isn't surfaced in the GitHub Actions log.

I re-ran the failed job and it reproduced identically, so this is not transient flakiness.

Suggested fix

Pin a known-good GHC version instead of recommended, so a metadata bump can't break CI out from under us. In .github/workflows/32bit-ci.yml:

curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | \
  BOOTSTRAP_HASKELL_NONINTERACTIVE=1 \
  BOOTSTRAP_HASKELL_INSTALL_NO_STACK=1 \
  BOOTSTRAP_HASKELL_GHC_VERSION=9.6.7 \
  sh

(or ghcup install ghc 9.6.7 --set as an explicit step). Alternatively, move the container to a newer base image that the deb10 i386 bindist supports. Pinning is the smaller, safer change.

Links

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions