Skip to content

fix/drop -it from docs-build target#17

Merged
rick-lam merged 1 commit into
mainfrom
fix/docs-build-tty
May 7, 2026
Merged

fix/drop -it from docs-build target#17
rick-lam merged 1 commit into
mainfrom
fix/docs-build-tty

Conversation

@rick-lam
Copy link
Copy Markdown
Contributor

@rick-lam rick-lam commented May 7, 2026

Summary

The new GitHub Actions docs deploy workflow (added in #16) calls `make docs-build`, which fails on every push to `main` with:

```
the input device is not a TTY
make: *** [Makefile:91: docs-build] Error 1
```

See https://github.com/graze/sprout/actions/runs/25489756405/job/74794449988 for the failure.

Root cause

`docs-build` runs:

```
docker run --rm -it -v $$(pwd):/docs squidfunk/mkdocs-material build
```

`-it` requires a TTY. Travis happened to allocate one, so the target worked there. GitHub Actions runners don't, so docker exits non-zero before mkdocs ever starts.

`mkdocs build` is non-interactive and has no use for stdin or a tty, so the flags are just dead weight.

Notable changes

  • `Makefile` `docs-build` target: drop `-it` from the docker invocation.

`docs-test` and `docs-deploy` are intentionally untouched. `docs-test` is interactive on purpose; `docs-deploy` isn't called from CI (the workflow uses `peaceiris/actions-gh-pages` instead).

QA

  • Locally: `make docs-build` still produces a working `./site` directory.
  • Once merged, the next push to `main` should run the docs deploy workflow successfully.

The docs-build target runs a non-interactive mkdocs build, but the
docker run flags include -it which requires a TTY. The new
GitHub Actions docs deploy workflow has no TTY (Travis happened to
provide one), so the build fails with "the input device is not a
TTY". -i/-t aren't needed for a one-shot build, so just drop them.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 7, 2026 10:17
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Removes Docker’s interactive TTY flags from the docs-build Makefile target so the GitHub Actions docs deploy workflow can run non-interactively without failing on “the input device is not a TTY”.

Changes:

  • Update docs-build to run docker run --rm ... build without -it to avoid requiring a TTY in CI.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@rick-lam rick-lam merged commit 4934ea6 into main May 7, 2026
16 checks passed
@rick-lam rick-lam deleted the fix/docs-build-tty branch May 7, 2026 10:22
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.

2 participants