Skip to content

Classroom: Codespaces storage quotas and prebuild guidance #31

@cuihtlauac

Description

@cuihtlauac

Parent issue: #24

Problem

Free Codespaces accounts have limited storage and compute. Pre-builds consume quota even when idle. Teachers recommend enabling prebuilds only right before a lesson and disabling after. If the container image exceeds the free-tier storage limit, it won't start.

Supporting evidence from UCSD study (Valstar et al., ITiCSE 2020)

Students running DevContainers locally reported three resource-related disadvantages:

  • "take a lot of storage"
  • "take much memory"
  • "run significantly slower"
  • Some students' laptops "could not handle running the DevContainer"

This affects both Codespaces (quota limits) and local Docker (underpowered student laptops). OCaml compilation — especially the TSan switch — is resource-intensive, making this particularly relevant.

Proposed changes

  • Document the image size (compressed and uncompressed) and verify it fits within GitHub Education tier limits
  • Add guidance on Codespaces machine type selection (the hostRequirements in devcontainer.json requests 4 CPUs / 8GB RAM / 32GB storage)
  • Document how to configure and manage prebuilds for a GitHub Classroom organization
  • Note the monthly Codespaces hours included with GitHub Education (currently 180 core-hours/month for free accounts)
  • Document minimum vs recommended hardware specs for local Docker usage
  • Provide a Codespaces fallback recommendation for students with underpowered machines

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions