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

Artemis integration #47

Merged
merged 129 commits into from
Aug 6, 2023
Merged

Artemis integration #47

merged 129 commits into from
Aug 6, 2023

Conversation

pal03377
Copy link
Contributor

@pal03377 pal03377 commented Jul 6, 2023

Related: ls1intum/Artemis#6861

Motivation and Context

Some changes are needed to integrate Athena into Artemis.

Description

Change a few things to make the integration work (also some general improvements):

  • Remove the AvailableModuleNames enum because it always causes issues when some modules are unavailable while the assessment module manager is starting. Replaced it with a simple string.
  • Add an HTTP Auth protected /logs endpoint to see Docker logs => easier testing without SSH test server access
  • Change X-API-Secret header to Authorization for consistency within Artemis
  • Add a cleanup step to deployment so that the test server disk doesn't get overloaded with cached docker images
  • Download CoFee config files on the test server on deployment
  • Use PostgreSQL database on the test server instead of SQLite for a more production-like environment
  • Let /feedback endpoint receive multiple feedback objects at once instead of one at a time
  • Make a few fields nullable because they are nullable in Artemis
  • Rename TextSubmission.content to TextSubmission.text for consistency
  • Add TextSubmission.language field that is important for CoFee (which only works on English submissions)
  • Accept any incoming objects with camelCase attribute names instead of snake_case as well => avoid snake_case names in Artemis DTOs
  • Make the CoFee MongoDB docker service a bit quieter because you couldn't find anything in the logs

Steps for Testing

Test ls1intum/Artemis#6861 using the instructions there

Screenshots

see ls1intum/Artemis#6861

@pal03377 pal03377 self-assigned this Jul 6, 2023
@pal03377 pal03377 added the deploy:athena-test1 Athena Test Server 1 label Jul 6, 2023
@github-actions github-actions bot removed the deploy:athena-test1 Athena Test Server 1 label Jul 6, 2023
@github-actions

This comment was marked as outdated.

@github-actions github-actions bot added the deployment-error Added by deployment workflows if an error occured label Jul 6, 2023
@pal03377 pal03377 added deploy:athena-test1 Athena Test Server 1 and removed deployment-error Added by deployment workflows if an error occured labels Jul 6, 2023
@github-actions github-actions bot added lock:athena-test1 Is currently deployed to Athena Test Server 1 and removed deploy:athena-test1 Athena Test Server 1 labels Jul 6, 2023
@pal03377 pal03377 temporarily deployed to Athena Test Server 3 July 6, 2023 17:01 — with GitHub Actions Inactive
@pal03377 pal03377 removed the lock:athena-test1 Is currently deployed to Athena Test Server 1 label Jul 12, 2023
@pal03377 pal03377 added the deploy:athena-test1 Athena Test Server 1 label Aug 5, 2023
@github-actions github-actions bot removed the deploy:athena-test1 Athena Test Server 1 label Aug 5, 2023
@pal03377 pal03377 temporarily deployed to Athena Test Server 3 August 5, 2023 03:06 — with GitHub Actions Inactive
@pal03377 pal03377 added the deploy:athena-test1 Athena Test Server 1 label Aug 5, 2023
@github-actions github-actions bot removed the deploy:athena-test1 Athena Test Server 1 label Aug 5, 2023
@pal03377 pal03377 temporarily deployed to Athena Test Server 3 August 5, 2023 03:12 — with GitHub Actions Inactive
@pal03377 pal03377 added the deploy:athena-test1 Athena Test Server 1 label Aug 5, 2023
@github-actions github-actions bot removed the deploy:athena-test1 Athena Test Server 1 label Aug 5, 2023
@pal03377 pal03377 temporarily deployed to Athena Test Server 3 August 5, 2023 03:28 — with GitHub Actions Inactive
@pal03377 pal03377 added the deploy:athena-test1 Athena Test Server 1 label Aug 5, 2023
@github-actions github-actions bot removed the deploy:athena-test1 Athena Test Server 1 label Aug 5, 2023
@pal03377 pal03377 temporarily deployed to Athena Test Server 3 August 5, 2023 03:36 — with GitHub Actions Inactive
@pal03377 pal03377 added the deploy:athena-test1 Athena Test Server 1 label Aug 5, 2023
@github-actions github-actions bot removed the deploy:athena-test1 Athena Test Server 1 label Aug 5, 2023
@pal03377 pal03377 temporarily deployed to Athena Test Server 3 August 5, 2023 03:40 — with GitHub Actions Inactive
@pal03377 pal03377 added the deploy:athena-test1 Athena Test Server 1 label Aug 5, 2023
@github-actions github-actions bot removed the deploy:athena-test1 Athena Test Server 1 label Aug 5, 2023
@pal03377 pal03377 temporarily deployed to Athena Test Server 3 August 5, 2023 03:48 — with GitHub Actions Inactive
Copy link
Collaborator

@FelixTJDietrich FelixTJDietrich left a comment

Choose a reason for hiding this comment

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

Changes make sense to me and work as expected on the Athena testserver.

playground/src/model/exercise.ts Outdated Show resolved Hide resolved
playground/src/hooks/athena/send_feedback.ts Show resolved Hide resolved
Co-authored-by: Felix T.J. Dietrich <[email protected]>
@pal03377 pal03377 merged commit c3858d5 into develop Aug 6, 2023
5 checks passed
@pal03377 pal03377 removed the lock:athena-test1 Is currently deployed to Athena Test Server 1 label Aug 6, 2023
@pal03377 pal03377 deleted the artemis-athena-integration branch August 14, 2023 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
playground Pull requests that update the playground python Pull requests that update Python code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants