Skip to content

Commit

Permalink
Merge branch 'develop' into feature/programming-exercises/add-advance…
Browse files Browse the repository at this point in the history
…d-errorfiltering-page
  • Loading branch information
MarkusPaulsen authored Sep 3, 2024
2 parents d2970f6 + 1c45ddd commit d461a88
Show file tree
Hide file tree
Showing 889 changed files with 6,096 additions and 17,255 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
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
12 changes: 9 additions & 3 deletions .github/workflows/analysis-of-endpoint-connections.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,13 @@ name: Analysis of Endpoint Connections

on:
workflow_dispatch:
push:
pull_request:
types:
- opened
- synchronize
paths:
- 'src/main/java/**'
- 'src/main/webapp/**'

# Keep in sync with build.yml and test.yml and codeql-analysis.yml
env:
Expand All @@ -20,7 +26,7 @@ jobs:
with:
fetch-depth: 0

- name: Set up JDK 21
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: '${{ env.java }}'
Expand Down Expand Up @@ -59,7 +65,7 @@ jobs:
with:
fetch-depth: 0

- name: Set up JDK 21
- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: 'temurin'
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
27 changes: 18 additions & 9 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 @@ -330,7 +330,7 @@ dependencies {

implementation "tech.jhipster:jhipster-framework:${jhipster_dependencies_version}"
implementation "org.springframework.boot:spring-boot-starter-cache:${spring_boot_version}"
implementation "io.micrometer:micrometer-registry-prometheus:1.12.6"
implementation "io.micrometer:micrometer-registry-prometheus:1.13.3"
implementation "net.logstash.logback:logstash-logback-encoder:8.0"

// Defines low-level streaming API, and includes JSON-specific implementations
Expand All @@ -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 @@ -421,12 +427,12 @@ dependencies {
}
implementation "io.springfox:springfox-bean-validators:3.0.0"
implementation "com.mysql:mysql-connector-j:9.0.0"
implementation "org.postgresql:postgresql:42.7.3"
implementation "org.postgresql:postgresql:42.7.4"

implementation "org.zalando:problem-spring-web:0.29.1"
implementation "org.zalando:jackson-datatype-problem:0.27.1"
implementation "com.ibm.icu:icu4j-charset:75.1"
implementation "com.github.seancfoley:ipaddress:5.5.0"
implementation "com.github.seancfoley:ipaddress:5.5.1"
implementation "org.apache.maven:maven-model:3.9.9"
// NOTE: 3.0.2 is broken for splitting lecture specific PDFs
implementation "org.apache.pdfbox:pdfbox:3.0.1"
Expand All @@ -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 Expand Up @@ -474,7 +483,7 @@ dependencies {
testImplementation "org.awaitility:awaitility:4.2.2"
testImplementation "org.apache.maven.shared:maven-invoker:3.3.0"
testImplementation "org.gradle:gradle-tooling-api:8.10"
testImplementation "org.apache.maven.surefire:surefire-report-parser:3.4.0"
testImplementation "org.apache.maven.surefire:surefire-report-parser:3.5.0"
testImplementation "com.opencsv:opencsv:5.9"
testImplementation("io.zonky.test:embedded-database-spring-test:2.5.1") {
exclude group: "org.testcontainers", module: "mariadb"
Expand All @@ -486,7 +495,7 @@ dependencies {
}
testImplementation("net.bytebuddy:byte-buddy") {
version {
strictly "1.14.19"
strictly "1.15.1"
}
}
// cannot update due to "Syntax error in SQL statement "WITH ids_to_delete"
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
62 changes: 0 additions & 62 deletions docker/cypress-E2E-tests-local.yml

This file was deleted.

Loading

0 comments on commit d461a88

Please sign in to comment.