Skip to content

[Bugfix:RainbowGrades] Fix manual generation banner#13026

Merged
bmcutler merged 8 commits into
mainfrom
rg-fix-manual-banner
Jul 15, 2026
Merged

[Bugfix:RainbowGrades] Fix manual generation banner#13026
bmcutler merged 8 commits into
mainfrom
rg-fix-manual-banner

Conversation

@dagemcn

@dagemcn dagemcn commented Jul 10, 2026

Copy link
Copy Markdown
Member

Why is this Change Important & Necessary?

Fixes Issue#13018
The rainbow grades manual generation warning banner has been constantly present in the grades configuration page, even on brand new courses. It is important to have this function working for instructors.

What is the New Behavior?

Prior, the manual generation function was checking individual summaries against the build files. Now, the function compares the html files in summary_html/ and individual_summary_html/ to see if there are differences. If there are, then the manual generation warning banner is displayed.

What steps should a reviewer take to reproduce or test the bug or new feature?

  1. Go to a course with rainbow grades enabled

  2. Go to the grades configuration page and click build

  3. See that the banner does not appear

  4. Follow the instructions for manual generation here

  5. After pushing the manually generated files to the server, check that the banner appears in the grades configuration page

  6. With the banner present, build rainbow grades again and verify the banner disappears

Here is an example of what the banner looks like:
image

Automated Testing & Documentation

This feature is tested by E2E tests.

Other information

Not a breaking change.
No migrations.
No security concerns.

@github-project-automation github-project-automation Bot moved this to Seeking Reviewer in Submitty Development Jul 10, 2026
@automateprojectmangement automateprojectmangement Bot moved this from Seeking Reviewer to Work in Progress in Submitty Development Jul 10, 2026
@dagemcn dagemcn changed the title Fix manual generation banner [Bugfix:RainbowGrades] Fix manual generation banner Jul 10, 2026
@codecov

codecov Bot commented Jul 10, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 14 lines in your changes missing coverage. Please review.
✅ Project coverage is 21.10%. Comparing base (16b67e9) to head (aa900ae).

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff              @@
##               main   #13026      +/-   ##
============================================
+ Coverage     21.09%   21.10%   +0.01%     
+ Complexity    10115    10109       -6     
============================================
  Files           279      279              
  Lines         38167    38145      -22     
  Branches        585      585              
============================================
  Hits           8051     8051              
+ Misses        29544    29522      -22     
  Partials        572      572              
Flag Coverage Δ
autograder 21.16% <ø> (ø)
js 1.76% <ø> (ø)
migrator 100.00% <ø> (ø)
php 20.20% <0.00%> (+0.01%) ⬆️
python_submitty_utils 79.83% <ø> (ø)
submitty_daemon_jobs 91.13% <ø> (ø)
vue 100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@dagemcn
dagemcn marked this pull request as ready for review July 13, 2026 13:53
@automateprojectmangement automateprojectmangement Bot moved this from Work in Progress to Seeking Reviewer in Submitty Development Jul 13, 2026
@GarvitKhandelwal31
GarvitKhandelwal31 self-requested a review July 14, 2026 17:46
@automateprojectmangement automateprojectmangement Bot moved this from Seeking Reviewer to In Review in Submitty Development Jul 14, 2026

@GarvitKhandelwal31 GarvitKhandelwal31 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.

First I checkout the main branch, went to a new course with rainbow grades enabled, then I could verify that the warning banner did appear even though the rainbow grades were not generated manually.
Then I checkout this PR's branch, went to a course with rainbow grades enabled, when I clicked build, the yellow banner did not appear this time. Then I created rainbow grades manually , this time the yellow banner appeared correctly.
When I clicked 'build' again the yellow banner disappeared.

The old logic relied on checking the timestamp of a meta file inside rainbow_grades/Build/ . Previously it was assumed that if the meta file was missing or older than the HTML reports that it meant the instructor must have manually uploaded the grades. This was the reason of false positives.

The current logic of checking the 'twin' files with the 'served' file is accurate and more robust.

@github-project-automation github-project-automation Bot moved this from In Review to Awaiting Maintainer Review in Submitty Development Jul 15, 2026
@bmcutler
bmcutler merged commit 91944f4 into main Jul 15, 2026
100 of 104 checks passed
@bmcutler
bmcutler deleted the rg-fix-manual-banner branch July 15, 2026 15:38
bmcutler pushed a commit that referenced this pull request Jul 16, 2026
### Why is this Change Important & Necessary?
In [PR#13026](#13026), I added
a reload on build success to clear the manual generation banner if it
was present. This had the side effect of changing the message shown by
the output of building rainbow grades, which broke the grades
configuration spec. The reload would also clear the log button, so this
change is better reverted and I can work on a fix for clearing the
banner in another PR.

### What is the New Behavior?
The page will no longer reload on a successful build of rainbow grades.

### What steps should a reviewer take to reproduce or test the bug or
new feature?
1. Checkout the branch and do submitty_install_site
2. Do a manual generation of rainbow grades
3. After the banner appears, click build in the UI
4. The page should no longer reload

### Other information
N/A
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

manual rainbow grades banner appears all the time

3 participants