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: Add custom build scripts for local continuous integration #7619

Merged
merged 8 commits into from
Nov 21, 2023

Conversation

laurenzfb
Copy link
Contributor

@laurenzfb laurenzfb commented Nov 18, 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 documented the Java code using JavaDoc style.

Motivation and Context

This PR builds on #7528 and adds basic support for custom build scripts in Local CI.

Description

Instructors can define script actions in the client during exercise creation which are then persisted in the database. During the set up of the build job container, these actions are retrieved for the build script.

Steps for Testing

Only test on TS3, TS5 or legacy TS11. Or test locally with LocalVC Local CI run configuration
Prerequisites:

  • 1 Admin/Instructor
  1. Open "Create Programming Exercise" form, fill all necessary fields and enable custom build plans
  2. Click on the displayed action item
  3. Add something in the editor that will not interfere with the testing tasks, e.g. echo "Hello World"
    image
  4. Create exercise
  5. Wait till template and solution builds complete and verify results. (Template 0 out of 13, Solution 13 out of 13)

  1. Do the same as above but now remove the action item
  2. Add a new action item (don't change the code)
  3. Create exercise
  4. Verify that both builds fail

Testserver States

Note

These badges show the state of the test servers.
Green = Currently available, Red = Currently locked







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

@github-actions github-actions bot added the server Pull requests that update Java code. (Added Automatically!) label Nov 18, 2023
@github-actions github-actions bot added the client Pull requests that update TypeScript code. (Added Automatically!) label Nov 19, 2023
@laurenzfb laurenzfb marked this pull request as ready for review November 19, 2023 10:43
@laurenzfb laurenzfb requested a review from a team as a code owner November 19, 2023 10:43
@github-actions github-actions bot removed the client Pull requests that update TypeScript code. (Added Automatically!) label Nov 19, 2023
Copy link

@JanaNF JanaNF left a comment

Choose a reason for hiding this comment

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

Manual tested on legacy_ts11. Worked as expected.

Copy link
Contributor

@valentin-boehm valentin-boehm left a comment

Choose a reason for hiding this comment

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

Tested on TS6, works as expected

Copy link
Contributor

@reschandreas reschandreas left a comment

Choose a reason for hiding this comment

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

tested locally, works as expected, code also lgtm

Copy link
Contributor

@florian-glombik florian-glombik left a comment

Choose a reason for hiding this comment

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

Approving code

Quality and changes look good to me.

@krusche krusche added this to the 6.7.0 milestone Nov 21, 2023
@krusche krusche merged commit 1db9d89 into develop Nov 21, 2023
27 of 31 checks passed
@krusche krusche deleted the localci-new-custom-scripts branch November 21, 2023 09:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready to merge server Pull requests that update Java code. (Added Automatically!)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants