Skip to content

Commit

Permalink
Merge branch 'develop' into bugfix/long-feedback-not-beeing-displayed
Browse files Browse the repository at this point in the history
  • Loading branch information
az108 authored Oct 24, 2024
2 parents e23f45f + caea966 commit 4c1a140
Show file tree
Hide file tree
Showing 499 changed files with 16,778 additions and 4,326 deletions.
144 changes: 144 additions & 0 deletions .github/issue-labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
assessment:
- assessment
- bonus
- complaint
- submission
- grading
- grade
- score
- caseSensitive: false

athena:
- athena
- caseSensitive: false

atlas:
- atlas
- competency
- competencies
- knowledge area
- learning path
- learner profile
- science event
- adaptive learning
- caseSensitive: false

buildagent:
- buildagent
- build agent
- buildjob
- build job
- build result
- caseSensitive: false

communication:
- communication
- conversation
- notification
- agreement
- faq
- post
- reaction
- chat
- message
- caseSensitive: false

core:
- user-management
- authority
- data export
- migration
- user
- group
- caseSensitive: false

exam:
- exam
- exercisegroup
- student exam
- suspicious behavior
- suspicious behaviour
- caseSensitive: false

exercise:
- exercise
- participation
- participant
- difficulty
- lifecycle
- team
- assignment
- caseSensitive: false

fileupload:
- fileupload
- upload
- caseSensitive: false

iris:
- iris
- llm
- chatbot
- ai
- caseSensitive: false

lecture:
- lecture
- attachment
- online
- slide
- video
- text unit
- caseSensitive: false

lti:
- lti
- online course
- caseSensitive: false

modeling:
- modeling
- diagram
- uml
- caseSensitive: false

plagiarism:
- plagiarism
- caseSensitive: false

programming:
- programming
- build
- build plan
- code hint
- git
- testwise coverage
- ide
- submission policy
- aeolus
- penalty
- auxilary
- commit
- project
- static code analysis
- caseSensitive: false

quiz:
- quiz
- drag
- drop
- single choice
- multiple choice
- batch
- short answer
- caseSensitive: false

text:
- text
- block
- caseSensitive: false

tutorialgroup:
- tutorialgroup
- session
- caseSensitive: false
26 changes: 24 additions & 2 deletions .github/workflows/analysis-of-endpoint-connections.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,16 @@ jobs:
path: supporting_scripts/analysis-of-endpoint-connections/

- name: Analyze endpoints
run:
run: |
./gradlew :supporting_scripts:analysis-of-endpoint-connections:runEndpointAnalysis
continue-on-error: true
id: endpointAnalysis

- name: Analyze rest calls
run:
run: |
./gradlew :supporting_scripts:analysis-of-endpoint-connections:runRestCallAnalysis
continue-on-error: true
id: restCallAnalysis

- name: Upload analysis results
uses: actions/upload-artifact@v4
Expand All @@ -93,3 +97,21 @@ jobs:
path: |
supporting_scripts/analysis-of-endpoint-connections/endpointAnalysisResult.json
supporting_scripts/analysis-of-endpoint-connections/restCallAnalysisResult.json
- name: Check if any step failed
run: |
if [ "${{ steps.endpointAnalysis.outcome }}" != "success" ] &&
[ "${{ steps.restCallAnalysis.outcome }}" != "success" ]; then
echo "Endpoints and REST calls could not be matched."
exit 1
fi
if [ "${{ steps.endpointAnalysis.outcome }}" == "success" ] &&
[ "${{ steps.restCallAnalysis.outcome }}" != "success" ]; then
echo "REST calls could not be matched."
exit 1
fi
if [ "${{ steps.endpointAnalysis.outcome }}" != "success" ] &&
[ "${{ steps.restCallAnalysis.outcome }}" == "success" ]; then
echo "Endpoints could not be matched."
exit 1
fi
17 changes: 17 additions & 0 deletions .github/workflows/issue-labler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: "Issue Labeler"
on:
issues:
types: [opened, edited]

permissions:
issues: write
contents: read

jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: MaximilianAnzinger/[email protected]
with:
configuration-path: .github/issue-labeler.yml
repo-token: ${{ github.token }}
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ Refer to [Using JHipster in production](http://www.jhipster.tech/production) for
The following command can automate the deployment to a server. The example shows the deployment to the main Artemis test server (which runs a virtual machine):

```shell
./artemis-server-cli deploy [email protected] -w build/libs/Artemis-7.6.1.war
./artemis-server-cli deploy [email protected] -w build/libs/Artemis-7.6.3.war
```

## Architecture
Expand Down
4 changes: 3 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ plugins {
}

group = "de.tum.cit.aet.artemis"
version = "7.6.1"
version = "7.6.3"
description = "Interactive Learning with Individual Feedback"

java {
Expand Down Expand Up @@ -248,6 +248,7 @@ dependencies {
implementation "de.jplag:jplag:${jplag_version}"

implementation "de.jplag:c:${jplag_version}"
implementation "de.jplag:cpp:${jplag_version}"
implementation "de.jplag:java:${jplag_version}"
implementation "de.jplag:javascript:${jplag_version}"
implementation "de.jplag:kotlin:${jplag_version}"
Expand All @@ -256,6 +257,7 @@ dependencies {
implementation "de.jplag:rust:${jplag_version}"
implementation "de.jplag:swift:${jplag_version}"
implementation "de.jplag:text:${jplag_version}"
implementation "de.jplag:typescript:${jplag_version}"

// those are transitive dependencies of JPlag Text --> Stanford NLP
// Note: ideally we would exclude them, but for some reason this does not work
Expand Down
5 changes: 5 additions & 0 deletions docs/admin/setup/distributed.rst
Original file line number Diff line number Diff line change
Expand Up @@ -617,8 +617,13 @@ These credentials are used to clone repositories via HTTPS. You must also add th
container-cleanup:
expiry-minutes: 5 # Time after a hanging container will automatically be removed
cleanup-schedule-minutes: 60 # Schedule for container cleanup
build-agent:
short-name: "artemis-build-agent-X" # Short name of the build agent. This should be unique for each build agent. Only lowercase letters, numbers and hyphens are allowed.
display-name: "Artemis Build Agent X" # This value is optional. If omitted, the short name will be used as display name. Display name of the build agent. This is shown in the Artemis UI.
Please note that ``artemis.continuous-integration.build-agent.short-name`` must be provided. Otherwise, the build agent will not start.

Build agents run as `Hazelcast Lite Members <https://docs.hazelcast.com/hazelcast/5.3/maintain-cluster/lite-members>`__ and require a full member, in our case a core node, to be running.
Thus, before starting a build agent make sure that at least the primary node is running. You can then add and remove build agents to the cluster as desired.

Expand Down
8 changes: 8 additions & 0 deletions docs/user/exercises/programming-exercise-features.inc
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ Instructors can still use those templates to generate programming exercises and
+----------------------+----------+---------+
| R | yes | yes |
+----------------------+----------+---------+
| C++ | yes | yes |
+----------------------+----------+---------+
| TypeScript | yes | yes |
+----------------------+----------+---------+

- Not all ``templates`` support the same feature set and supported features can also change depending on the continuous integration system setup.
Depending on the feature set, some options might not be available during the creation of the programming exercise.
Expand Down Expand Up @@ -75,6 +79,10 @@ Instructors can still use those templates to generate programming exercises and
+----------------------+----------------------+----------------------+---------------------+--------------+------------------------------------------+------------------------------+----------------------------+------------------------+
| R | no | no | yes | no | n/a | no | no | L: yes, J: no |
+----------------------+----------------------+----------------------+---------------------+--------------+------------------------------------------+------------------------------+----------------------------+------------------------+
| C++ | no | no | yes | no | n/a | no | no | L: yes, J: no |
+----------------------+----------------------+----------------------+---------------------+--------------+------------------------------------------+------------------------------+----------------------------+------------------------+
| TypeScript | no | no | yes | no | n/a | no | no | L: yes, J: no |
+----------------------+----------------------+----------------------+---------------------+--------------+------------------------------------------+------------------------------+----------------------------+------------------------+

- *Sequential Test Runs*: ``Artemis`` can generate a build plan which first executes structural and then behavioral tests. This feature can help students to better concentrate on the immediate challenge at hand.
- *Static Code Analysis*: ``Artemis`` can generate a build plan which additionally executes static code analysis tools.
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "artemis",
"version": "7.6.1",
"version": "7.6.3",
"description": "Interactive Learning with Individual Feedback",
"private": true,
"license": "MIT",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package de.tum.cit.aet.artemis.assessment.dto;

import java.util.List;

import com.fasterxml.jackson.annotation.JsonInclude;

import de.tum.cit.aet.artemis.core.dto.SearchResultPageDTO;

@JsonInclude(JsonInclude.Include.NON_EMPTY)
public record FeedbackAnalysisResponseDTO(SearchResultPageDTO<FeedbackDetailDTO> feedbackDetails, long totalItems, int totalAmountOfTasks, List<String> testCaseNames) {
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
import com.fasterxml.jackson.annotation.JsonInclude;

@JsonInclude(JsonInclude.Include.NON_EMPTY)
public record FeedbackDetailDTO(long count, double relativeCount, String detailText, String testCaseName, int taskNumber) {
public record FeedbackDetailDTO(long count, double relativeCount, String detailText, String testCaseName, String taskNumber, String errorCategory) {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package de.tum.cit.aet.artemis.assessment.dto;

import java.util.List;

import de.tum.cit.aet.artemis.core.dto.pageablesearch.PageableSearchDTO;

public class FeedbackPageableDTO extends PageableSearchDTO<String> {

private List<String> filterTasks;

private List<String> filterTestCases;

private String[] filterOccurrence;

private String searchTerm;

public List<String> getFilterTasks() {
return filterTasks;
}

public void setFilterTasks(List<String> filterTasks) {
this.filterTasks = filterTasks;
}

public List<String> getFilterTestCases() {
return filterTestCases;
}

public void setFilterTestCases(List<String> filterTestCases) {
this.filterTestCases = filterTestCases;
}

public String[] getFilterOccurrence() {
return filterOccurrence;
}

public void setFilterOccurrence(String[] filterOccurrence) {
this.filterOccurrence = filterOccurrence;
}

public String getSearchTerm() {
return searchTerm != null ? searchTerm : "";
}

public void setSearchTerm(String searchTerm) {
this.searchTerm = searchTerm;
}
}
Loading

0 comments on commit 4c1a140

Please sign in to comment.