Skip to content

feat: make PR sandboxes configurable

Boros Gábor requested to merge gabor/configurable-pr-sandboxes into main

Description

This MR makes the PR sandboxes more configurable and does auto-configuration if the PR target branch is a known release or master branch.

The new watcher will look out for **Settings** and **Tutor requirements** keys and configuration defined below the keys. If the **Tutor requirements** is set, the watcher overrides the default requirements file to use the new set of requirements.

Supporting information

Testing instructions

Steps to test the changes:

  1. Check the PR details: https://github.com/openedx/edx-platform/pull/27788
  2. Check the pipeline: https://gitlab.com/opencraft/ops/grove-stage-digitalocean/-/pipelines/940352589
  3. Check the deployed instance: https://pr-27788-0e7f8a.staging.do.opencraft.hosting/

Dependencies

N/A

Screenshots

N/A

Checklist

If any of the items below is not applicable, do not remove them, but put a check in it.

  • All providers include the new feature/change
  • All affected providers can provision new clusters
  • Unit tests are added/updated
  • Documentation is added/updated
  • The TOOLS_CONTAINER_IMAGE_VERSION in ci_vars.yml is updated
  • The grove-template repository is updated

Additional context

This MR introduces a small dependency on the packages for "auto-discovered requirements configuration" (like: git+https://github.com/hastexo/tutor-contrib-s3.git@v1.1.0), however, we have no better choice here.

Also, the reason we are not having more sandboxes currently running is that we restricted the PRs to deploy if they have only valid settings -- ie. default settings are not used. This will be changed (as expected) upon approval and merge. Until that, I did not want to explode the number of running random instances.

Edited by Boros Gábor

Merge request reports