Skip to content

Add new plan to Gitlab SaaS

Mohamed Moustafa requested to merge mtimoustafa/cdot-9029-ramon into master

What does this MR do and why?

Please do not merge this MR until https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/9681 is merged. Thanks!

Resolves: https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/9029+.

Part of work for https://gitlab.com/groups/gitlab-org/-/epics/12681+.

As we have configured the new plan in Zuora and CustomersDot (https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/9447), this MR adds the plan to the Plan model, so it can be accessed in Gitlab SaaS as well.

Please see https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/9447+ for more context.

Project work map

Relevant MRs in ascending chronological order Status
https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/9447+ Completed
https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/9681+ 🔍 In review. Merge blocker for following MRs
Add new plan to Gitlab SaaS (!148045 - closed) 🔵 You are here

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Screenshots or screen recordings

Before After
Screen_Recording_2024-04-10_at_16.47.39 Screenshot_2024-04-10_at_17.49.28
Screenshot_2024-04-10_at_17.49.51

How to set up and validate locally

Pre-test preparation

  1. Pull the mtimoustafa/9029-ff-protect-basic-plan branch in CustomersDot and launch the application.
  2. In the CDot Rails console (bundle exec rails c), run IronBank::LocalRecords.export.
  3. Turn on the CustomersDot <code data-sourcepos="52:31-52:53">ramon_plan_availability</code> feature flag feature flag.
  4. Apply the following patch to disable caching plan fetch requests to CustomersDot: no_caching.diff
  5. Restart CustomersDot.
  6. Launch GDK and ZSim.
  7. In the gitlab/ GDK directory, run bundle exec rails db:migrate to add the new plan to the Plan model.

Testing steps

  1. Create a new Gitlab.com group.
  2. Navigate to the billing page (http://gdk.test:3000/groups/testcdot9447-3group2/-/billings) and select the Upgrade to Premium button to go to the purchase page.
  3. Ensure the GitLab plan dropdown now shows GitLab Basic - 1 Year as an option.
  4. Purchase the Basic plan with any number of seats.
  5. Navigate to CustomersDot and confirm there is a Basic plan subscription for the group.
  6. Wait for the GDK billing page to update and confirm that the group is on the Basic plan.
Edited by Mohamed Moustafa

Merge request reports