Replies: 1 comment
-
Feedback from SK and programming meeting:
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
We're currently discussing how to simplify the integration of external CI systems. The existing implementation of
ContinuousIntegrationService
was originally designed to work with Bamboo - and still has some methods that are not needed anymore. With the new LocalCI system and potential other stateless external CI systems it would make sense to refactor this interface.In this thread we wanna kick off the discussion how to do the transition.
Things that need to happen
(from @bensofficial and @Mtze perspective) - Feel free to critique and amend the suggestion!)
New version of
ContinuousIntegrationService
interfacebuild(participation) -> ID
The main trigger should be one simplebuild
method that handles all the necessary details internallystatus(participation) -> Status
: Returns the current state of the build for participationPOST /api/programming/public/exercise/<exerciseid>/submission/<submissionid>/status
health()
: Returns the health of the external systemThe implementations of
JenkinsService
andLocalCIService
need to be adapted to adhere to the new interfaceUpdate for the result handling - Suggestion: Split the ingest of build results (e.g. Tests) and the ingest of build logs.
POST /api/programming/public/exercise/<exerciseid>/submission/<submissionid>/result
(new DTO Type:ExternalBuildResult
)POST /api/programming/public/exercise/<exerciseid>/submission/<submissionid>/log
(existing DTO TypeList<BuildLogDTO>
)Beta Was this translation helpful? Give feedback.
All reactions