-
Notifications
You must be signed in to change notification settings - Fork 276
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Programming exercises
: Avoid nested zip for each submission repository in the export
#8576
Programming exercises
: Avoid nested zip for each submission repository in the export
#8576
Conversation
The Path to the zip is the result of the function. There is no list (anymore).
ToDo: Adjust the callers of ProgrammingExerciseExportService.exportStudentRepositories (and check if all are fine with getting directories).
Adjust the callers of ProgrammingExerciseExportService.exportStudentRepositories to make clear that it now returns list of directories instead of zip files.
Fix: For constant values "eq()" have to been used. Add: Also provide a mocked result for not zipped output. Some of the tests seems to consider filenames.
Test this method of the GitService directly to be apple to cover all cases of parameter combination. (Actual no test calls the method with zipOutput).
…void-zip-for-each-repo
WalkthroughThe changes in this update primarily focus on modifying the Changes
Sequence Diagram(s) (Beta)sequenceDiagram
participant User
participant AthenaRepositoryExportService
participant GitService
User ->> AthenaRepositoryExportService: exportRepository()
AthenaRepositoryExportService ->> GitService: getRepositoryWithParticipation(repo, dir, hideName, true)
GitService -->> AthenaRepositoryExportService: zipFilePath
AthenaRepositoryExportService -->> User: zipFilePath
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 5
Outside diff range and nitpick comments (2)
src/main/java/de/tum/in/www1/artemis/service/export/ProgrammingExerciseExportService.java (2)
138-144
: Consider adding a detailed JavaDoc for the parametershouldZipDirs
.Adding a more detailed JavaDoc comment for the
shouldZipDirs
parameter could improve code readability and maintainability, especially for new developers or external contributors who might work with this code in the future.
689-697
: Clarify the behavior whenzipOutput
is false.The method
getRepositoryWithParticipation
could benefit from a clearer explanation in the JavaDoc about what happens whenzipOutput
is false. It's important for maintainability that the behavior of such a key parameter is well-documented.
src/main/java/de/tum/in/www1/artemis/service/export/ProgrammingExerciseExportService.java
Show resolved
Hide resolved
src/main/java/de/tum/in/www1/artemis/service/export/ProgrammingExerciseExportService.java
Show resolved
Hide resolved
src/main/java/de/tum/in/www1/artemis/service/export/ProgrammingExerciseExportService.java
Show resolved
Hide resolved
src/main/java/de/tum/in/www1/artemis/service/export/ProgrammingExerciseExportService.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tested in testing session, works as described
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tested in testing session, works as intended
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good, left one small suggestion
also tested during a testing session, works as expected
Programming exercises
: Avoid zip for each submission repositoryProgramming exercises
: Avoid nested zip for each submission repository
Programming exercises
: Avoid nested zip for each submission repositoryProgramming exercises
: Avoid nested zip for each submission repository in the export
Checklist
General
Server
Client
No changes in the client
Changes affecting Programming Exercises
a test servermy local machine configured with Gitlab and Jenkins.Motivation and Context
If you download one or more student submission repositories to look at them with your IDE,
you get a zip form Artemis, which contains several zip-files. One for each student.
The additional step to unzip is annoying and wastes time (see #7732).
(The creating of the sub-zip files also waste some computation power on the Artemis server.)
Description
To not zip submission repositories, if they get zip together in the next step.
This applies to:
(The exercise, test and solution repositories are still zipped again. So there is no breaking change in the download format for programming exercises, which can be imported again into Artemis.)
Steps for Testing
Prerequisites:
Export
-Download Repos
Archive Course
Download Archive
Exam Mode Testing
Prerequisites:
Archive Exam
Download Archive
Testserver States
Note
These badges show the state of the test servers.
Green = Currently available, Red = Currently locked
Review Progress
Performance Review
Code Review
Manual Tests
Exam Mode Test
Test Coverage