Skip to content

Commit

Permalink
Merge pull request #72 from gradescope/GSC-3539/add-docs-for-selectin…
Browse files Browse the repository at this point in the history
…g-base-image

[GSC-3539] Added documentation to the base images feature
  • Loading branch information
ibrahima committed Jul 13, 2022
2 parents aee042d + c0d925d commit 1136fca
Show file tree
Hide file tree
Showing 7 changed files with 56 additions and 3 deletions.
Binary file added docs/base_image_selector.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
45 changes: 45 additions & 0 deletions docs/base_images.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Base Images

Gradescope supports selecting a different base image to build your
autograder with.

[![Base Image Selector](base_image_selector.png)](base_image_selector.png)

When you create a new autograder, it will default to the current
default base image. Over time, new base image versions may be released
and become the default version. We recommend that you update your
autograders to use the latest versions when available to take
advantage of the latest software updates and security features.

Rebuilding an autograder or duplicating an autograder will use the
same base image as was previously selected.

## Base Image Options

### Base Image OS

This is the operating system which the base image is running
(e.g. Ubuntu, Fedora, etc).

### Base Image Version

This is the major version of the OS which is loaded in the base image
(E.g. 18.04 for Ubuntu). Note that minor software upgrades may happen
from time to time without changing the major version of the OS
(i.e. individual packages may receive minor updates while keeping the
same version of the OS). This is up to the upstream OS maintainers'
software upgrade policies.

### Base Image Variant

Variants may add to or modify the pre-installed software in the base
image. This can be used to improve autograder build times by avoiding
installing packages in the setup phase.

Selecting *Base* will mean that it is a fresh install of the OS with
no modifications to the default installed programs, other than what
our autograder platform requires.

Additional base images may be added which contain commonly installed
packages, such as different versions of Python or Java. This should
decrease the build time for those autograders.
Binary file modified docs/configure_autograder.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions docs/getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ the appropriate options and continue.
[![Assignment](assignment_form.png)](assignment_form.png)

Next you'll be asked to upload your autograder. Upload a zip file
meeting the required [specifications](specs), and press "Update
Autograder."
meeting the required [specifications](specs), select the [base image](base_image)
you would like to build the autograder with, and press "Update Autograder."

[![Configure Autograder](configure_autograder.png)](configure_autograder.png)

Expand Down
5 changes: 4 additions & 1 deletion docs/manual_docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,12 @@

To use the "Manual Docker Configuration" option, you'll need to use
`gradescope/auto-builds` as the base image for your docker image.
You can also use the tags `fedora` or `centos`, or older versions of
You can also use the tags `fedora` or `centos`, or different versions of
Ubuntu - see the complete list [on DockerHub](https://hub.docker.com/r/gradescope/auto-builds/tags/).

Note: You can now also
[use different base images with a zip file upload](base_images).

You'll need to ensure that your image contains the `run_autograder` script at
the path `/autograder/run_autograder`. This should match the requirements
described on the [specifications](specs) page. In particular, at the end of the
Expand Down
4 changes: 4 additions & 0 deletions docs/updates.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

Here are some updates we've made to our autograder platform. If you have any questions or issues with any of these changes, please email [help@gradescope.com](mailto:help@gradescope.com).

## July 13th, 2022

We have added the ability to set the base image you want your autograder to build with. This means you are no longer required to build your own Docker container and use the manual docker configuration for zip file autograders which need a different base image. You can [find out more about base images here](base_images).

## March 17th, 2022

An upstream update to our underlying host OS introduced a conflict with the default Ubuntu 18.04 base image used for building autograders. For users installing certain packages that depend on glibc, this may have manifested in the build error below:
Expand Down
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ pages:
- 'Autograder Specifications': specs.md
- 'Manual Grading': manual_grading.md
- 'Technical Details': tech.md
- 'Base Images': base_images.md
- 'Debugging via SSH': ssh.md
- 'Troubleshooting': troubleshooting.md
- 'Python 3 Issues': python3_issues.md
Expand Down

0 comments on commit 1136fca

Please sign in to comment.