Skip to content

bash-3.2 CI gate is externally flaky: vendor Chet Ramey's signing key instead of fetching from keyservers #395

Closed

Description

@wz-gsa

Problem

The acq offline suite under bash 3.2 job builds bash 3.2.57 from source and verifies the tarball against Chet Ramey's GPG key, which it imports from public keyservers at job time. When the keyservers are unavailable the job fails closed in the setup step — before any test runs — and red-flags an otherwise healthy PR:

##[error]could not import bash signing key 7C0135FB088AAF6C66C650B9BB5869F064EA74AB from any keyserver

Observed on #390 (cleared on re-run). This is the second external-fetch flake to red-flag a healthy PR in two days (the other was a gnu.org link-check timeout), so the cost is recurring: a maintainer has to recognize the failure isn't theirs and re-run.

Fix

Vendor the ASCII-armored public key in-repo and import from the file instead of a keyserver. The trust anchor is unchanged — today's security comes from the workflow hardcoding the full 40-hex fingerprint and verifying the imported key matches it, so the keyserver is already treated as untrusted transport. Committing the key removes the availability dependency without weakening anything:

  • keep the hardcoded fingerprint check against the vendored key (so a bad commit to the key file still fails closed);
  • keep gpg --verify of the detached signature;
  • drop the 3-keyserver retry loop.

Why this is reliability, not security

A substituted key already fails the fingerprint comparison, so keyserver availability buys no integrity — only failure modes. This was raised as a non-blocking note during the review of #332 (which introduced the gate); filing it properly now that it has blocked a second PR.

AI-assisted (OpenCode).

Activity

  1. added theissue type on Oct 1, 2026
  2. removed
    bugSomething isn't working
    on Oct 5, 2026
  3. added a commit that references this issue on Oct 6, 2026
  4. mogul commented on Oct 6, 2026

    @mogul
    Contributor

    This is being addressed while I'm dealing with download mirror flakiness in #553

  5. linked a pull request that will close this issuefeat(msb)!: default to microsandbox 0.7.7 #553on Oct 6, 2026
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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions