Skip to content

feat(nimbus): add rollout setup progress and issues modal#16239

Open
RJAK11 wants to merge 4 commits into
mainfrom
15927
Open

feat(nimbus): add rollout setup progress and issues modal#16239
RJAK11 wants to merge 4 commits into
mainfrom
15927

Conversation

@RJAK11

@RJAK11 RJAK11 commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Because

  • users need to know their rollout setup progress

This commit

  • adds a setup completion progress bar to the rollout sidebar
  • adds an issues modal that lists invalid fields with links to the relevant card

Fixes #15927

Screen.Recording.2026-07-08.at.3.01.38.PM.mov

@RJAK11

RJAK11 commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

When testing locally with the "this is a rollout" checkbox checked, you'll hit 3 additional warnings not in the video for the population percent, total enrolled clients, and reference branch fields.

A few thoughts on handling these:

  • Total enrolled clients doesn't apply to the new UI, and I was told we can just default it to 1 when we add the "create new rollout" flow, until we create a dedicated rollout serializer. I think the same idea works for Reference branch.
  • For Population percent, the current serializer doesn't support the new rollout phases model, so I was thinking maybe we could also hardcode a value here too since it'll get overwritten anyway once the user requests to start a phase.

Separately, we might need to bring over the AI risk field from the old UI into the new Risks card, and Public description into the Overview card or we can handle them the same way since we don’t currently have those fields. Let me know what you think!

@RJAK11
RJAK11 marked this pull request as draft July 13, 2026 19:10
@RJAK11
RJAK11 force-pushed the 15927 branch 3 times, most recently from 254cbe9 to 26798a0 Compare July 15, 2026 14:52
* adds a setup completion progress bar to the rollout sidebar
* adds an issues modal that lists invalid fields with links to the relevant card
* allows rollouts to set 0% population, 0 enrolled clients, and no reference branch description
* validates the rollout schedule (at least one phase, nonzero first phase) via NimbusRolloutReviewSerializer

Fixes #15927
@RJAK11

RJAK11 commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

Update: instead of hard-coding some values to prevent the warnings mentioned previously, I added a dedicated NimbusRolloutReviewSerializer that the new UI uses (the old UI keeps the base serializer, so this is all scoped to the new UI). That clears the 3 warnings:

  • Total enrolled clients and Reference branch: changed to allow empty values for rollouts (since neither seems to apply to the new UI).
  • Population percent: allows 0% since population now comes from the rollout phases model. To keep that meaningful, I added schedule validation (>= 1 phase, first phase non-zero) that shows up as a setup issue on the Rollout schedule card.

However, we may still want to add AI risk in the Risks card and Public description in the Overview card.

@RJAK11
RJAK11 marked this pull request as ready for review July 15, 2026 16:52
Comment thread experimenter/experimenter/nimbus_ui/templates/new/rollouts/schedule/card.html Outdated
RJAK11 added 2 commits July 17, 2026 15:25
# Conflicts:
#	experimenter/experimenter/nimbus_ui/templates/new/rollouts/audience/card.html
#	experimenter/experimenter/nimbus_ui/templates/new/rollouts/rollout_features/card.html
#	experimenter/experimenter/nimbus_ui/tests/test_new_views.py
Because

* rollout authors need to know how much and what is left before a rollout can be launched

This commit

* adds a setup completion progress bar to the rollout sidebar
* adds an issues modal that lists invalid fields with links to the relevant rollout card

@yashikakhurana yashikakhurana left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @RJAK11 this is really great, nice approach to use separate serializer, and I have tested it locally, majorly works fine, some improvements to make, otherwise very good work

Comment thread experimenter/experimenter/nimbus_ui/new/views.py Outdated
Comment thread experimenter/experimenter/experiments/api/v5/serializers.py
Comment thread experimenter/experimenter/experiments/api/v5/serializers.py
Comment thread experimenter/experimenter/nimbus_ui/new/views.py
Because

* rollout authors need to know how much and what is left before a rollout can be launched

This commit

* adds a setup completion progress bar to the rollout sidebar
* adds an issues modal that lists invalid fields with links to the relevant rollout card
@RJAK11
RJAK11 requested a review from yashikakhurana July 20, 2026 14:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Setup Completion Progress Bar

2 participants