Skip to content
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: Support python exercises for local continuous integration #7369

Merged
merged 14 commits into from
Oct 15, 2023

Conversation

laurenzfb
Copy link
Contributor

@laurenzfb laurenzfb commented Oct 13, 2023

Checklist

General

Server

  • Important: I implemented the changes with a very good performance and prevented too many (unnecessary) database calls.
  • I followed the coding and design guidelines.
  • I added multiple integration tests (Spring) related to the features (with a high test coverage).
  • I added pre-authorization annotations according to the guidelines and checked the course groups for all new REST Calls (security).
  • I documented the Java code using JavaDoc style.

Changes affecting Programming Exercises

  • I tested all changes and their related features with all corresponding user types on Test Server 1 (Atlassian Suite).
  • I tested all changes and their related features with all corresponding user types on Test Server 2 (Jenkins and Gitlab).

Motivation and Context

With this PR, the local CI system supports Python exercises.

Description

I added Python options for the build script generation. Test results get parsed accordingly.

Steps for Testing

Prerequisites:

  • 1 Instructor
  • 1 Student
  • Local VC CI test server (3 or 6 (GitHub), 11 (old server))
  1. As instructor, create a programming exercise with Python
  2. Template and solution build result should be as expected
  3. As student, create submission for this exercise
  4. Build results should be as expected

Review Progress

Performance Review

  • I (as a reviewer) confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance
  • I (as a reviewer) confirm that the server changes (in particular related to database calls) are implemented with a very good performance

Code Review

  • Code Review 1
  • Code Review 2

Manual Tests

  • Test 1
  • Test 2

Test Coverage

Screenshots

@github-actions github-actions bot added the server Pull requests that update Java code. (Added Automatically!) label Oct 13, 2023
@laurenzfb laurenzfb marked this pull request as ready for review October 14, 2023 15:06
@laurenzfb laurenzfb requested a review from a team as a code owner October 14, 2023 15:06
@github-actions github-actions bot added the deployment-error Added by deployment workflows if an error occured label Oct 14, 2023
@laurenzfb laurenzfb added deploy:artemis-test3 and removed deploy:artemis-test3 deployment-error Added by deployment workflows if an error occured labels Oct 14, 2023
@github-actions github-actions bot added the deployment-error Added by deployment workflows if an error occured label Oct 14, 2023
@laurenzfb laurenzfb removed deployment-error Added by deployment workflows if an error occured deploy:artemis-test3 labels Oct 14, 2023
@krusche krusche changed the title Programming Exercises: Support Python exercises for local continuous integration Programming exercises: Support python exercises for local continuous integration Oct 14, 2023
@krusche krusche added this to the 6.6.0 milestone Oct 15, 2023
@github-actions github-actions bot added the deployment-error Added by deployment workflows if an error occured label Oct 15, 2023
@laurenzfb laurenzfb removed deployment-error Added by deployment workflows if an error occured deploy:artemis-test3 labels Oct 15, 2023
Copy link
Member

@Hialus Hialus left a comment

Choose a reason for hiding this comment

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

Left some small comments for the code.
Also if this is not done yet: Since you have to add support for new programming languages at multiple places, it would make sense to document these places somewhere in the artemis docs for future reference by other devs.

@@ -68,8 +69,8 @@ public class LocalCIBuildJobExecutionService {
@Value("${artemis.version-control.url}")
private URL localVCBaseUrl;

@Value("${artemis.version-control.local-vcs-repo-path}")
private String localVCBasePath;
@Value("${artemis.repo-clone-path}")
Copy link
Member

Choose a reason for hiding this comment

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

Please notify me once this PR was merged, so I can adjust TS3 and TS6 for this change

tobias-lippert
tobias-lippert previously approved these changes Oct 15, 2023
Copy link
Contributor

@tobias-lippert tobias-lippert left a 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. Python exercise compiled successfully.

max-bergmann
max-bergmann previously approved these changes Oct 15, 2023
Copy link
Contributor

@max-bergmann max-bergmann left a 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. Py compiled.

@laurenzfb laurenzfb dismissed stale reviews from max-bergmann and tobias-lippert via 333a367 October 15, 2023 15:35
@laurenzfb
Copy link
Contributor Author

Thank you for the code review @Hialus! I implemented your suggested changes. Concerning the documentation for future developers, I will do this in a follow up PR.

Copy link
Contributor

@tobias-lippert tobias-lippert left a comment

Choose a reason for hiding this comment

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

Reapprove, latest changes look good

Copy link
Contributor

@max-bergmann max-bergmann left a comment

Choose a reason for hiding this comment

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

reapprove - lgtm

@krusche krusche merged commit f2ad596 into develop Oct 15, 2023
15 of 19 checks passed
@krusche krusche deleted the feature/localci-python-support branch October 15, 2023 16:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready for review server Pull requests that update Java code. (Added Automatically!)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants