1. What is Leocode?

leolearn modules
Figure 1. LeoCode is part of Leolearn

2. Used Technologies:

technology overview
Figure 2. Technology overview

3. Current state as of 2022-01-25

  1. Jenkins-tests fail

  2. zBeni working on same project?

  3. tested various environments:

    • local (runs, but tests always fail)

    • Oracle always-free VM (always crashed during startup)

    • Raspberry Pi 3 (ran fine, but crashed once)

    • Oracle VM with more resources (runs, but had issues with port-forwarding)

  4. Started creating Dockerfile

  5. Started evaluating jenkins errors

4. 2022-01-31 Jenkins fix implemented

We found a fix for jenkins, detailed documentation can be found here: Jenkins-Fix-Doc

5. Report 2022-02-07

In cooperation with the 5ahif-LeoCode-Team we managed to fix various issues on the LeoCode-Virtual-Machine (vm147).

It is now possible to write code in the integrated monaco-editor and submit it. The code-file then gets forwarded to our testing-api which opens up a new jenkins-runner that tests the submission. If all tests go according to plan, the test-result 'SUCCESS' is displayed on our frontend. If the tests fail, or an error occurs because of a faulty submission, the frontend shows 'FAILED' or 'ERROR'.

We identified some performance issues regarding the testing-api which seem to be caused by the testing-process taking place in jenkins.

testing api bottleneck
Figure 3. Method which takes up too much execution time

6. Meeting notes:

7. Weiterführende Informationen