Repository navigation
[Feature:RainbowGrades] Nlohmann version pinning - #94
Merged
Merged
Conversation
bmcutler
pushed a commit
to Submitty/Submitty
that referenced
this pull request
Jul 27, 2026
### Why is this Change Important & Necessary? This PR implements version pinning for the nlohmann-json dependency which previously was unpinned. ### What is the New Behavior? nlohmann-json has been added to a new third party library section in versions.sh. A wget has been added with a version sentinel to ensure that the version stays consistent. ### What steps should a reviewer take to reproduce or test the bug or new feature? 1. Before running submitty_install: - run `cat /usr/local/submitty/GIT_CHECKOUT/vendor/nlohmann/json/VERSION` to ensure that the version is not yet stored, the file doesn't yet exist - check the current version with ``` grep -rh "define NLOHMANN_JSON_VERSION" /usr/local/submitty/vendor/include/nlohmann/ | grep -E "MAJOR|MINOR|PATCH" ``` 2. Run submitty_install 3. Check the current version: - run `cat /usr/local/submitty/GIT_CHECKOUT/vendor/nlohmann/json/VERSION` - you should see now that the version is 3.12.0, and that this new version file exists - run `grep -rh "define NLOHMANN_JSON_VERSION" /usr/local/submitty/vendor/include/nlohmann/ | grep -E "MAJOR|MINOR|PATCH"` to verify the version actually changed 4. Change the nlohmann-json version in versions.sh to 3.11.0 5. Run submitty_install 6. Check the current version: - run `cat /usr/local/submitty/GIT_CHECKOUT/vendor/nlohmann/json/VERSION` - should now be 3.11.0 7. Change the version back to 3.12.0 and reinstall to do a general functionality test (autograding, submission, etc) 8. Finally, test in conjunction with [PR#94](Submitty/RainbowGrades#94) to make sure that there is no interference between the files ### Automated Testing & Documentation N/A ### Other information This is not a breaking change This are no migrations included Not a security concern
bmcutler
approved these changes
Jul 27, 2026
NicholasCiuica
left a comment
Member
There was a problem hiding this comment.
I have tested this today and nlohmann version pinning works correctly. I was having difficulty running "make" and "make pull" because my WSL terminals can't connect to my VM (not sure why still), and my Command Prompt terminals (I'm on Windows) don't recognize these commands. I therefore had to scp the grade reports into my local grades_summary/raw_data directory, and run make from there. Running make with create a vendor folder and fetch nlohmann as expected.
bmcutler
pushed a commit
to Submitty/submitty.github.io
that referenced
this pull request
Jul 29, 2026
Updated the dependencies of running Rainbow Grades manually. Since Rainbow Grades [PR#94](Submitty/RainbowGrades#94) was merged, the nlohmann fetching was updated to use curl instead of wget.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why is this Change Important & Necessary?
This PR implements version pinning for the nlohmann-json dependency which previously was pinned at 3.1.2, which would cause errors if someone did not already have the dependency.
What is the New Behavior?
A few file called versions.mk has been created which contains the version of nlohmann that is currently pinned.
What steps should a reviewer take to reproduce or test the bug or new feature?
You should see the following output:
Automated Testing & Documentation
N/A
Other information
This is not a breaking change
This are no migrations included
Not a security concern