Skip to content

[Feature:Developer] Add bulk upload submissions#12571

Closed
Khine12 wants to merge 19 commits into
Submitty:mainfrom
Khine12:bulk-upload-sample-data
Closed

[Feature:Developer] Add bulk upload submissions#12571
Khine12 wants to merge 19 commits into
Submitty:mainfrom
Khine12:bulk-upload-sample-data

Conversation

@Khine12

@Khine12 Khine12 commented Mar 12, 2026

Copy link
Copy Markdown
Contributor

Why is this Change Important & Necessary?

Closes #10010
The Bulk Upload gradeable in the Sample Course was a future gradeable with 0 submissions. This PR adds graded submissions to make it more useful for testing.

What is the New Behavior?

Added sample PDF submissions to more_autograding_examples/pdf_exam/submissions/
Updated dates in sample.yml for bulk_upload_test to past dates so it appears as an in-progress gradeable

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

Run the sample course setup script
Navigate to the Sample Course and verify the Bulk Upload Scanned Exam gradeable has submissions and appears in the in-progress section

Other information

No breaking changes. No migrations needed.

@codecov

codecov Bot commented Mar 12, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 21.62%. Comparing base (c78aa07) to head (43ba3e9).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff            @@
##               main   #12571   +/-   ##
=========================================
  Coverage     21.62%   21.62%           
  Complexity     9817     9817           
=========================================
  Files           268      268           
  Lines         36808    36808           
  Branches        490      490           
=========================================
  Hits           7960     7960           
  Misses        28362    28362           
  Partials        486      486           
Flag Coverage Δ
autograder 21.32% <ø> (ø)
js 2.02% <ø> (ø)
migrator 100.00% <ø> (ø)
php 20.67% <ø> (ø)
python_submitty_utils 80.08% <ø> (ø)
submitty_daemon_jobs 91.13% <ø> (ø)

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.

@IDzyre IDzyre left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Please address the failing tests.

@github-project-automation github-project-automation Bot moved this from Seeking Reviewer to Work in Progress in Submitty Development Mar 12, 2026
@Khine12 Khine12 changed the title [Sample:Data] Add graded submissions to bulk upload gradeable [Feature:Developer] Add bulk upload submissions Mar 12, 2026
@Khine12

Khine12 commented Mar 12, 2026

Copy link
Copy Markdown
Contributor Author

Hi @IDzyre, I've addressed the following issues:

  • Fixed the PR title to [Feature:Developer] Add bulk upload submissions
  • Fixed Cypress (System): updated the submission count in autograding_status_1.spec.js from 101 to 105 to reflect the 3 new PDF submissions added
  • Fixed Cypress (UI): updated gradeable section counts in navigation_page.spec.js to reflect bulk_upload_test moving from the future section to items_being_graded

However, the following CI failures are still present and I'm not sure if they are related to my changes or pre-existing:

  • Cypress (Feature)
  • Cypress (Gradeable)
  • Cypress (TAGrading) — all failures are timeout/element-not-found errors in the TA grading interface (e.g. grading-rubric-btn, grading-rubric, notebook-view) which don't seem related to my changes
  • Cypress (UI)student_info_panel.spec.js and navigation_page.spec.js still failing

I've checked CI #8131 on main and all tests passed there. Could you help clarify whether these remaining failures are pre-existing or caused by my changes? A new CI run (#8160) is also awaiting your approval to verify my latest fixes.

@Khine12
Khine12 requested a review from IDzyre March 12, 2026 23:33
@automateprojectmangement automateprojectmangement Bot moved this from Work in Progress to In Review in Submitty Development Mar 12, 2026
@IDzyre

IDzyre commented Mar 13, 2026

Copy link
Copy Markdown
Member

Hi @IDzyre, I've addressed the following issues:

  • Fixed the PR title to [Feature:Developer] Add bulk upload submissions
  • Fixed Cypress (System): updated the submission count in autograding_status_1.spec.js from 101 to 105 to reflect the 3 new PDF submissions added
  • Fixed Cypress (UI): updated gradeable section counts in navigation_page.spec.js to reflect bulk_upload_test moving from the future section to items_being_graded

However, the following CI failures are still present and I'm not sure if they are related to my changes or pre-existing:

  • Cypress (Feature)
  • Cypress (Gradeable)
  • Cypress (TAGrading) — all failures are timeout/element-not-found errors in the TA grading interface (e.g. grading-rubric-btn, grading-rubric, notebook-view) which don't seem related to my changes
  • Cypress (UI)student_info_panel.spec.js and navigation_page.spec.js still failing

I've checked CI #8131 on main and all tests passed there. Could you help clarify whether these remaining failures are pre-existing or caused by my changes? A new CI run (#8160) is also awaiting your approval to verify my latest fixes.

This is a known issue with Submitty's testing. Since the sample course script uses a seeded random generation of submissions, changing the sample courses in any way can disrupt the existing testing infrastructure, because the submissions can change. You should run the tests locally to see if the changes you made affect the tests, and update them accordingly.

@Khine12

Khine12 commented Mar 13, 2026

Copy link
Copy Markdown
Contributor Author

@IDzyre Thank you for the explanation! I investigated further and here is what I found:

The random seed in gradeable.py is based on each gradeable's ID hash (hashlib.md5 of self.id), so adding PDF submissions to pdf_exam/submissions/ only affects bulk_upload_test and does not alter the random sequence for other gradeables.

After reviewing all the CI logs carefully, the remaining failures are in files I did not touch:

  • navigation_page.spec.js - should display instructor buttons correctly: expects a REGRADE button on grades_released_homework_autota and grades_released_homework
  • student_info_panel.spec.js: Submission Number: 2 / 3 not found for student mccule in grading_homework
  • edit_gradeable.spec.js: #submission-version-select not found
  • discussion_post.spec.js, files_panel.spec.js, grade_inquiries.spec.js, late_days_cache.spec.js, student_version_conflict.spec.js: all element-not-found timeouts
  • student_activity_download.spec.js: date mismatch on pre-existing 9996-12-31 dates I did not modify

The fixes I made (autograding_status_1.spec.js and section counts in navigation_page.spec.js) are now passing in CI. Could you confirm if the remaining failures are pre-existing on your end?

@IDzyre

IDzyre commented Mar 13, 2026

Copy link
Copy Markdown
Member

@IDzyre Thank you for the explanation! I investigated further and here is what I found:

The random seed in gradeable.py is based on each gradeable's ID hash (hashlib.md5 of self.id), so adding PDF submissions to pdf_exam/submissions/ only affects bulk_upload_test and does not alter the random sequence for other gradeables.

After reviewing all the CI logs carefully, the remaining failures are in files I did not touch:

  • navigation_page.spec.js - should display instructor buttons correctly: expects a REGRADE button on grades_released_homework_autota and grades_released_homework
  • student_info_panel.spec.js: Submission Number: 2 / 3 not found for student mccule in grading_homework
  • edit_gradeable.spec.js: #submission-version-select not found
  • discussion_post.spec.js, files_panel.spec.js, grade_inquiries.spec.js, late_days_cache.spec.js, student_version_conflict.spec.js: all element-not-found timeouts
  • student_activity_download.spec.js: date mismatch on pre-existing 9996-12-31 dates I did not modify

The fixes I made (autograding_status_1.spec.js and section counts in navigation_page.spec.js) are now passing in CI. Could you confirm if the remaining failures are pre-existing on your end?

You should be able to see if the tests are failing locally or on main, and given that main passed all the tests failing on your branch, I feel that it is affecting it somehow.

@IDzyre IDzyre moved this from In Review to Seeking Reviewer in Submitty Development Mar 24, 2026
@github-actions github-actions Bot added the Abandoned PR - Needs New Owner No activity on PR for more than 2 weeks -- seeking new owner to complete label Apr 16, 2026
@Khine12

Khine12 commented Apr 20, 2026

Copy link
Copy Markdown
Contributor Author

Hi, just checking in — I've addressed the review feedback, and this PR is still active on my end. Happy to make any additional changes if needed. Let me know!

@IDzyre
IDzyre requested a review from bmcutler June 3, 2026 23:48
@automateprojectmangement automateprojectmangement Bot moved this from Seeking Reviewer to In Review in Submitty Development Jun 3, 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.

Looks good to me, also I have checked the pdf files and they are standard files which we find in submissions.

@github-actions github-actions Bot removed the Abandoned PR - Needs New Owner No activity on PR for more than 2 weeks -- seeking new owner to complete label Jun 6, 2026
@roye2
roye2 self-requested a review June 11, 2026 15:57

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

I was interested in reviewing this PR since I recently worked on tests that could have used the new sample data being added here. In my opinion, a more useful change would be to add some sample submissions to the gradeable (in the form of pdf bulk uploads) and move the gradeable into the 'grading in progress' category. That would actually provide us with some useful testing data. Otherwise, I don't really see what the point of this PR is or what it is currently providing.

@github-project-automation github-project-automation Bot moved this from In Review to Work in Progress in Submitty Development Jun 11, 2026
@roye2

roye2 commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

I've decided it's best to close this PR. After further testing I determined it did not provide any useful testing data, considering there were no submissions already provided on the gradeable. I'm also concerned this would break existing tests. We can reopen this PR or a new one to address the issue at another time.

@roye2 roye2 closed this Jun 16, 2026
@github-project-automation github-project-automation Bot moved this from Work in Progress to Done in Submitty Development Jun 16, 2026
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.

Make Bulk upload gradeable in Sample Course have submissions that are graded.

5 participants