Skip to content

Conversation

@5hank6
Copy link

@5hank6 5hank6 commented Dec 25, 2025

Summary

This PR fixes a crash in the database seed process when EvalAI is run in non-interactive environments such as Docker or CI pipelines.

Problem

The scripts/seed.py script prompts for user confirmation using input() when existing database data is detected.
When executed in non-interactive environments (e.g. during docker-compose up), this causes an EOFError and prevents the Django container from starting.

Solution

  • Automatically bypass the interactive prompt in non-interactive or test environments.
  • Safely proceed with reseeding instead of crashing.
  • Preserve the confirmation prompt for interactive/local usage.

Testing

  • Ran docker-compose up locally.
  • Verified that the Django container starts successfully and the seed process completes without errors.

Fixes #4848

@5hank6
Copy link
Author

5hank6 commented Dec 25, 2025

Hi maintainers

I’ve traced the Travis failure down to a strict dependency conflict introduced by newer pip resolution:

  • cfn-lint==0.48.3 requires networkx==2.4
  • worker_py3_9.txt was pinning networkx==3.2.1, which makes the dependency graph unsatisfiable

To fix this, I’m proposing:

  • pin networkx==2.4 (matching cfn-lint’s requirement)
  • keep PyYAML<6 via a constraints file to stay compatible with docker-compose==1.27.4

Local docker-compose build passes with this setup.
Before pushing further CI-related changes, I wanted to confirm this aligns with the project’s expectations.

Thanks!

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.

Docker startup fails due to interactive input in seed command

1 participant