Skip to content

Commit

Permalink
Merge branch 'develop' into feature/programming-exercises/cpp-template
Browse files Browse the repository at this point in the history
  • Loading branch information
magaupp committed Sep 9, 2024
2 parents bb1151a + d9f2cb8 commit bcf67f9
Show file tree
Hide file tree
Showing 1,013 changed files with 7,904 additions and 18,926 deletions.
4 changes: 0 additions & 4 deletions .ci/E2E-tests/cleanup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,8 @@ docker container stop $(docker ps -a -q) || true
docker container rm $(docker ps -a -q) || true
docker volume rm $(docker volume ls -q) || true

docker compose -f ./docker/cypress-E2E-tests-mysql.yml down -v
docker compose -f ./docker/cypress-E2E-tests-postgres.yml down -v
docker compose -f ./docker/playwright-E2E-tests-mysql.yml down -v
docker compose -f ./docker/cypress-E2E-tests-local.yml down -v
docker compose -f ./docker/playwright-E2E-tests-multi-node.yml down -v
docker compose -f ./docker/cypress-E2E-tests-multi-node.yml down -v

# show all running docker containers and volumes after the cleanup to detect issues
echo "SHOW RUNNING Docker containers and volumes:"
Expand Down
37 changes: 3 additions & 34 deletions .ci/E2E-tests/execute.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,8 @@ DB="mysql"

echo "CONFIGURATION:"
echo "$CONFIGURATION"
echo "Test framework:"
echo "$TEST_FRAMEWORK"

if [ "$TEST_FRAMEWORK" = "playwright" ]; then
if [ "$CONFIGURATION" = "mysql" ]; then
if [ "$CONFIGURATION" = "mysql" ]; then
COMPOSE_FILE="playwright-E2E-tests-mysql.yml"
elif [ "$CONFIGURATION" = "postgres" ]; then
COMPOSE_FILE="playwright-E2E-tests-postgres.yml"
Expand All @@ -22,21 +19,6 @@ if [ "$TEST_FRAMEWORK" = "playwright" ]; then
else
echo "Invalid configuration. Please choose among mysql, postgres, mysql-localci or multi-node."
exit 1
fi
else
if [ "$CONFIGURATION" = "mysql" ]; then
COMPOSE_FILE="cypress-E2E-tests-mysql.yml"
elif [ "$CONFIGURATION" = "postgres" ]; then
COMPOSE_FILE="cypress-E2E-tests-postgres.yml"
DB="postgres"
elif [ "$CONFIGURATION" = "local" ]; then
COMPOSE_FILE="cypress-E2E-tests-local.yml"
elif [ "$CONFIGURATION" = "multi-node" ]; then
COMPOSE_FILE="cypress-E2E-tests-multi-node.yml"
else
echo "Invalid configuration. Please choose among mysql, postgres, local or multi-node."
exit 1
fi
fi

echo "Compose file:"
Expand All @@ -51,8 +33,7 @@ export HOST_HOSTNAME=$(hostname)

cd docker
#just pull everything else than artemis-app as we build it later either way
if [ "$TEST_FRAMEWORK" = "playwright" ]; then
if [ "$CONFIGURATION" = "multi-node" ]; then
if [ "$CONFIGURATION" = "multi-node" ]; then
echo "Building for playwright (multi-node)"
docker compose -f $COMPOSE_FILE pull artemis-playwright $DB nginx
docker compose -f $COMPOSE_FILE build --build-arg WAR_FILE_STAGE=external_builder --no-cache --pull artemis-app-node-1 artemis-app-node-2 artemis-app-node-3
Expand All @@ -62,20 +43,8 @@ if [ "$TEST_FRAMEWORK" = "playwright" ]; then
docker compose -f $COMPOSE_FILE pull artemis-playwright $DB nginx
docker compose -f $COMPOSE_FILE build --build-arg WAR_FILE_STAGE=external_builder --no-cache --pull artemis-app
docker compose -f $COMPOSE_FILE up --exit-code-from artemis-playwright
fi
else
if [ "$CONFIGURATION" = "multi-node" ]; then
echo "Building for cypress (multi-node)"
docker compose -f $COMPOSE_FILE pull artemis-cypress $DB nginx
docker compose -f $COMPOSE_FILE build --build-arg WAR_FILE_STAGE=external_builder --no-cache --pull artemis-app-node-1 artemis-app-node-2 artemis-app-node-3
docker compose -f $COMPOSE_FILE up --exit-code-from artemis-cypress
else
echo "Building for cypress"
docker compose -f $COMPOSE_FILE pull artemis-cypress $DB nginx
docker compose -f $COMPOSE_FILE build --build-arg WAR_FILE_STAGE=external_builder --no-cache --pull artemis-app
docker compose -f $COMPOSE_FILE up --exit-code-from artemis-cypress
fi
fi

exitCode=$?
cd ..
echo "Container exit code: $exitCode"
Expand Down
1 change: 1 addition & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ Prerequisites:
<!-- All PRs that might affect the exam mode (e.g. change a client component that is also used in the exam mode) need an additional verification that the exam mode still works. -->

#### Performance Review
<!-- See [Large Course Setup](https://github.com/ls1intum/Artemis/tree/develop/supporting_scripts/course-scripts/quick-course-setup) for the automation script that handles large course setup. -->
- [ ] 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 even for very large courses with more than 2000 students.
- [ ] I (as a reviewer) confirm that the server changes (in particular related to database calls) are implemented with a very good performance even for very large courses with more than 2000 students.
#### Code Review
Expand Down
4 changes: 2 additions & 2 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ tests:
- changed-files:
- any-glob-to-any-file: src/test/**/*

cypress:
playwright:
- changed-files:
- any-glob-to-any-file: src/test/cypress/**/*
- any-glob-to-any-file: src/test/playwright/**/*

database:
- changed-files:
Expand Down
7 changes: 0 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -188,13 +188,6 @@ data-exports/
/docker/.docker-data/artemis-postgres-data/*
!/docker/.docker-data/artemis-postgres-data/.gitkeep

######################
# Cypress
######################
/src/test/cypress/screenshots/
/src/test/cypress/videos/
/src/test/cypress/build

######################
# Playwright
######################
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,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.5.1.war
./artemis-server-cli deploy [email protected] -w build/libs/Artemis-7.5.2.war
```

## Architecture
Expand Down
17 changes: 13 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ plugins {
id "com.github.ben-manes.versions" version "0.51.0"
id "com.github.andygoossens.modernizer" version "${modernizer_plugin_version}"
id "com.gorylenko.gradle-git-properties" version "2.4.2"
id "org.owasp.dependencycheck" version "10.0.3"
id "org.owasp.dependencycheck" version "10.0.4"
id "com.adarshr.test-logger" version "4.0.0"
}

group = "de.tum.in.www1.artemis"
version = "7.5.1"
version = "7.5.2"
description = "Interactive Learning with Individual Feedback"

java {
Expand Down Expand Up @@ -284,12 +284,12 @@ dependencies {
implementation "org.apache.sshd:sshd-sftp:${sshd_version}"

// https://mvnrepository.com/artifact/net.sourceforge.plantuml/plantuml
implementation "net.sourceforge.plantuml:plantuml:1.2024.6"
implementation "net.sourceforge.plantuml:plantuml:1.2024.5"
implementation "org.jasypt:jasypt:1.9.3"
implementation "me.xdrop:fuzzywuzzy:1.4.0"
implementation("org.yaml:snakeyaml") {
version {
strictly "2.2"
strictly "2.3"
// needed to reduce the number of vulnerabilities, also see https://mvnrepository.com/artifact/org.yaml/snakeyaml
}
}
Expand Down Expand Up @@ -349,13 +349,19 @@ dependencies {
implementation "com.hazelcast:hazelcast:${hazelcast_version}"
implementation "com.hazelcast:hazelcast-spring:${hazelcast_version}"
implementation "com.hazelcast:hazelcast-hibernate53:5.2.0"

implementation "javax.cache:cache-api:1.1.1"
implementation "org.hibernate.orm:hibernate-core:${hibernate_version}"

implementation "com.zaxxer:HikariCP:5.1.0"

implementation "org.apache.commons:commons-text:1.12.0"
implementation "org.apache.commons:commons-math3:3.6.1"

implementation "javax.transaction:javax.transaction-api:1.3"

implementation "org.liquibase:liquibase-core:${liquibase_version}"

implementation "org.springframework.boot:spring-boot-starter-validation:${spring_boot_version}"
implementation "org.springframework.boot:spring-boot-loader-tools:${spring_boot_version}"
implementation "org.springframework.boot:spring-boot-starter-mail:${spring_boot_version}"
Expand Down Expand Up @@ -442,6 +448,9 @@ dependencies {
// use newest version of gson to avoid security issues through outdated dependencies
implementation "com.google.code.gson:gson:2.11.0"


implementation "com.google.errorprone:error_prone_annotations:2.31.0"

annotationProcessor "org.hibernate:hibernate-jpamodelgen:${hibernate_version}"
annotationProcessor("org.glassfish.jaxb:jaxb-runtime:${jaxb_runtime_version}") {
exclude group: "jakarta.ws.rs", module: "jsr311-api"
Expand Down
4 changes: 2 additions & 2 deletions docker/artemis-migration-check-postgres.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ services:
service: artemis-app
env_file:
- ./artemis/config/postgres.env
- ./artemis/config/cypress.env
- ./artemis/config/cypress-postgres.env
- ./artemis/config/playwright.env
- ./artemis/config/playwright-postgres.env
- ./artemis/config/migration-check.env
depends_on:
postgresql:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# ----------------------------------------------------------------------------------------------------------------------
# Artemis configuration overrides for the Cypress E2E Postgres setups
# Artemis configuration overrides for the Playwright E2E Postgres setups
# ----------------------------------------------------------------------------------------------------------------------

SPRING_PROFILES_ACTIVE="artemis,scheduling,localvc,localci,buildagent,core,prod,docker"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# ----------------------------------------------------------------------------------------------------------------------
# Artemis configuration overrides for the Cypress E2E Postgres setups
# Artemis configuration overrides for the Playwright E2E Postgres setups
# ----------------------------------------------------------------------------------------------------------------------

SPRING_PROFILES_ACTIVE="artemis,scheduling,jenkins,gitlab,core,prod,docker"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# ----------------------------------------------------------------------------------------------------------------------
# Common Artemis configurations for the Cypress E2E MySQL and Postgres setups
# Common Artemis configurations for the Playwright E2E MySQL and Postgres setups
# ----------------------------------------------------------------------------------------------------------------------

SPRING_DATASOURCE_PASSWORD=""
Expand Down Expand Up @@ -27,6 +27,8 @@ ARTEMIS_CONTINUOUSINTEGRATION_EMPTYCOMMITNECESSARY="true"

ARTEMIS_APOLLON_CONVERSIONSERVICEURL="https://apollon.ase.in.tum.de/api/converter"

ARTEMIS_TELEMETRY_ENABLED="false"

# Token is valid 3 days
JHIPSTER_SECURITY_AUTHENTICATION_JWT_TOKENVALIDITYINSECONDS="259200"
# Token is valid 30 days
Expand All @@ -38,6 +40,7 @@ INFO_IMPRINT="https://ase.in.tum.de/lehrstuhl_1/component/content/article/179-im
INFO_TESTSERVER="true"
INFO_TEXTASSESSMENTANALYTICSENABLED="true"
INFO_STUDENTEXAMSTORESESSIONDATA="true"
INFO_OPERATORNAME="TUM"

LOGGING_FILE_NAME="/opt/artemis/data/artemis.log"

Expand Down
62 changes: 0 additions & 62 deletions docker/cypress-E2E-tests-local.yml

This file was deleted.

Loading

0 comments on commit bcf67f9

Please sign in to comment.