feat: make PR sandboxes configurable
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:
- Check the PR details: https://github.com/openedx/edx-platform/pull/27788
- Check the pipeline: https://gitlab.com/opencraft/ops/grove-stage-digitalocean/-/pipelines/940352589
- 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.