This repository contains Dockerfiles for autograding images used by Autolab and DevU.
In the Autograder Settings > VM Image
field, enter the name of the Dockerfile without the Dockerfile_
prefix. E.g., to use Dockerfile_autograding_image on Autolab, enter autograding_image
.
Instructors should read UB CSE's Autolab Public Documentation to learn how to create a new autograding image. Then, create a Dockerfile that meets our requirements for standardization.
Your Dockerfile must contain an author label towards the top (as the second Dockerfile instruction after FROM
). This is a standard annotation developed by the Open Containers Initiative. Multiple values can be separated by commas. E.g., Alice Smith, Bob Jones
. You may optionally include email addresses in angle brackets after the name. E.g., Alice Smith <[email protected]>
. If you don't want to publish your real name, you may use your GitHub username.
FROM ubuntu:24.04
LABEL org.opencontainers.image.authors="Alice Smith"
- Name your Dockerfile in the following format:
Dockerfile_cse_123
- If there are duplicates, a short suffix may be added after an underscore. E.g.,
Dockerfile_cse_123_python
- Cross-listed courses should use the lowest course number. E.g.,
Dockerfile_cse_486
- If there are duplicates, a short suffix may be added after an underscore. E.g.,
- Only use letters, numbers, and underscores
- All characters must be lowercase, except for the "D" in Dockerfile, which must be uppercase
- Create a fork of this repository
- Place your Dockerfile in the
dockerfiles
directory - Create a pull request
- Contact CSE Consult requesting a review
Once approved and deployed, images will be available in Autolab without the Dockerfile_
prefix. E.g., cse_123
.
As multiple instructors may rely on the same image, it's important to avoid breaking changes during a semester. One of the labeled authors of an image must approve any changes while classes are in session.
To update an image, create a pull request with the changes to the Dockerfile and contact CSE Consult requesting a review.
If you are not a labeled author, and classes are in session, a labeled author must also approve the pull request before it will be accepted.
Teaching assistants will need a primary instructor's approval to edit (or create) Dockerfiles.
Exceptions will be made if the labeled authors are unavailable (e.g., retired/graduated).
After an image has not been used by any course on Autolab for a full year (365 days), it is eligible for archival. Archived images will be moved into a separate directory and removed from Autolab. If an archived image is needed again, it can be restored. After an image has been archived for a full year, it may be deleted (it will still be in the Git history).
System administrators can use Tangoctl to easily build and deploy these images across the Tango worker fleet.