Set TERM=dumb fallback for CI/container environments#236
Merged
Conversation
GHC's Makefile unconditionally calls `tput bold` and `tput sgr0` (lines 217-218) which fail with "No value for $TERM and no -T specified" when TERM is unset. This happens in CI runners and containers where no terminal is attached. Set TERM to "dumb" as a fallback after sourcing setup.sh so ncurses tools like tput degrade gracefully instead of erroring.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
TERM=dumbas a fallback in the devx env script when$TERMis not already settput: No value for $TERM and no -T specifiederrors in CI/containerstput bold/tput sgr0(lines 217-218) which fail without$TERMContext
Observed on stable-haskell/ghc#153 where the devx shell runs in GitHub Actions without a terminal attached, causing 12 tput error lines per make invocation.
Test plan
nix develop .#ghc98-minimal-ghc -c bash -c 'echo $TERM'outputsdumb(no terminal) or the terminal's TERM value (interactive)