Skip to content

feat: add ability to deploy instances for MFE PRs

Kaustav Banerjee requested to merge kaustav/enable_mfe_pr_deploy into main

Description

The MR does two things :

  1. Primarily this MR adds the ability to configure custom MFEs for deployment with instances.
  2. The MR also moves resource group from terraform jobs to their parent job, so that all three TF jobs can be executed mutually exclusive from other pipelines.

Companion MR : tutor-contrib-grove!59 (merged)

Testing instructions

Scenario 1:

Add a brand new MFE to the set of existing core MFEs. Along with this, add waffle flags, URL configs, LMS settings, etc. required to enable/run the MFE in edx-platform

PR : https://github.com/open-craft/frontend-app-learner-dashboard/pull/1

Config : https://gitlab.com/opencraft/ops/grove-stage-digitalocean/-/blob/main/instances/pr-1-8494ee/config.yml?ref_type=heads

Pipeline : https://gitlab.com/opencraft/ops/grove-stage-digitalocean/-/pipelines/1044867715

Test:

  1. Go to LMS URL https://pr-1-8494ee.staging.do.opencraft.hosting
  2. Sign in using credentials : edx/edx@2023
  3. Verify you are redirected to the new learner dashboard which is not included as part of the default MFEs.

Scenario 2:

Override an existing MFE, to deploy an PR branch

PR : https://github.com/open-craft/frontend-app-authn/pull/3

Config : https://gitlab.com/opencraft/ops/grove-stage-digitalocean/-/blob/main/instances/pr-3-2d3d69/config.yml?ref_type=heads

Pipeline : https://gitlab.com/opencraft/ops/grove-stage-digitalocean/-/pipelines/1044850164

Test:

  1. Go to LMS URL https://pr-3-2d3d69.staging.do.opencraft.hosting
  2. Click on Sign in button
  3. In the AuthN MFE page, verify the page title says "Get in Page" instead of the typical "Login | My Open edX", indicating the modified MFE branch has been deployed.

Dependencies

List the dependencies required for this change, if any. Do not forget to link grove-template merge request here if that's affected by this change.

Screenshots

If applicable, add screenshots to help explain your feature.

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

OpenCraft internal tickets : BB-7890 BB-7891

Edited by Kaustav Banerjee

Merge request reports