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

Development: Improve build plan relationship #6099

Merged
merged 13 commits into from
Jan 19, 2023

Conversation

krusche
Copy link
Member

@krusche krusche commented Jan 18, 2023

This PR affects setups with Gitlab CI (which is still experimental)

Checklist

General

Server

  • 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 implemented the changes with a good performance and prevented too many database calls.
  • I documented the Java code using JavaDoc style.

Motivation and Context

At the moment, the relationship between ProgrammingExercise -> BuildPlan is not ideal, because it leads to additional database queries / joins in many situation due to the nature of a ManyToOne relationship.

As the build plan is only needed in 2-3 situations, it is favorable to store the unidirectional relationship on the other side: BuildPlan -> ProgrammingExercise as a OneToMany relationship

Description

Steps for Testing

Prerequisites:

  • 1 Instructor
  • 2 Students
  • 1 Programming Exercise with Complaints enabled
  1. Log in to Artemis
  2. Navigate to Course Administration
  3. ...

Exam Mode Testing

Test that the Gitlab CI features are still working

Review Progress

Code Review

  • Review 1
  • Review 2

Manual Tests

  • Test 1
  • Test 2

@krusche krusche added this to the 6.0.0 milestone Jan 18, 2023
@krusche krusche requested a review from a team as a code owner January 18, 2023 20:56
@github-actions github-actions bot added server Pull requests that update Java code. (Added Automatically!) tests labels Jan 18, 2023
Stephan Krusche added 2 commits January 18, 2023 22:25
otherwise, we get NotYetImplementedException: Collections having FK in secondary table
@krusche krusche changed the title Development: Improve build plan relationship Development: Improve build plan relationship Jan 18, 2023
jpbernius
jpbernius previously approved these changes Jan 18, 2023
@jpbernius jpbernius self-requested a review January 18, 2023 23:37
Copy link
Member

@jpbernius jpbernius left a comment

Choose a reason for hiding this comment

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

I tested this locally and after the fix with the missing FETCH I can confirm that GitLab can build the pipelines based on the build plan fetched from the API.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
server Pull requests that update Java code. (Added Automatically!) tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants