Skip to content

Staging#128

Merged
tmetzl merged 22 commits intomasterfrom
staging
Mar 2, 2026
Merged

Staging#128
tmetzl merged 22 commits intomasterfrom
staging

Conversation

@tmetzl
Copy link
Member

@tmetzl tmetzl commented Mar 2, 2026

This pull request refactors and modernizes the e2xgrader-notebook Docker image build system, introducing a multi-stage build with explicit targets for base, student, student_exam, and teacher modes. It reorganizes requirements and configuration files, improves documentation, and enhances the backup configuration for student exam mode. The changes make the build process more modular, maintainable, and extensible, and provide clearer instructions for users.

Dockerfile and Build System Refactor:

  • Refactored images/e2xgrader-notebook/Dockerfile to use multi-stage builds with separate targets for base, student, student_exam, and teacher, improving modularity and maintainability. Mode-specific requirements and configurations are now organized in dedicated directories, and mode activation is handled in each stage. [1] [2]
  • Updated the workflow in .github/workflows/build_e2xgrader_images.yml to use the new Docker build targets and simplified the conditional logic for listing images.

Requirements and Dependency Management:

  • Split requirements into mode-specific files under requirements/, updated the student_exam.txt to use a newer version of e2x-jupyter-backup, and removed obsolete files.

Configuration and Backup Improvements:

  • Enhanced the student exam backup configuration: added support for new environment variables (E2X_BACKUP_MAX_SIZE_MB, E2X_MIN_SECONDS_BETWEEN_BACKUPS), improved type safety, and moved configuration files to mode-specific directories.
  • Moved and cleaned up configuration overrides for Jupyter Notebook, including disabling the Notebook 7 banner only for version 6.5.4. [1] [2] [3]

Documentation Updates:

  • Overhauled images/e2xgrader-notebook/README.md to document the new multi-stage build system, available build targets, updated usage instructions, and new backup configuration options. [1] [2] [3]

Other Improvements:

  • Added build-essential to the bi-notebook image dependencies for broader compatibility.

tmetzl and others added 22 commits February 18, 2026 15:05
Add build-essential to bi-notebook to fix source installation of pack…
Fix GitHub Actions conditional expression warning
…rds-actions

Added EventListener to catch unintentional navigation to different pages via custom-preload script in student exam mode.
…k-and-forwards-actions

Revert "added EventListener to catch unintentional navigation to different pages"
@tmetzl tmetzl added the enhancement New feature or request label Mar 2, 2026
@tmetzl tmetzl merged commit 3fddcb9 into master Mar 2, 2026
42 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants