Skip to content

Commit

Permalink
Merge branch 'develop' into feature/reimplement-course-image-upload
Browse files Browse the repository at this point in the history
  • Loading branch information
julian-christl committed Nov 1, 2022
2 parents 071c53b + 310aa64 commit 59e6e75
Show file tree
Hide file tree
Showing 629 changed files with 5,410 additions and 2,692 deletions.
3 changes: 3 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@
"@typescript-eslint/no-floating-promises": "off",
"@typescript-eslint/no-unsafe-assignment": "off",
"@angular-eslint/no-output-on-prefix": "off",
"sort-imports": ["error", {
"ignoreDeclarationSort": true
}],
"deprecation/deprecation": "warn" // or "error" to have stricter rule
},
"overrides": [
Expand Down
19 changes: 18 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,18 +45,35 @@ Prerequisites:
2. Navigate to Course Administration
3. ...

#### Exam Mode Testing
<!-- If this PR changes some components that are also used in the exam mode, the PR needs additional testing that the exam mode is still working as expected. -->
<!-- If the testing steps above already describe the exam mode or the exam mode cannot be affected by this PR in any way, you can leave this out. -->

Prerequisites:
- 1 Instructor
- 2 Students
- 1 Exam with a Programming Exercise

1. Log in to Artemis
2. Participate in the exam as a student
3. Make sure that the UI of the programming exercise in the exam mode stays unchanged. You can use the [exam mode documentation](https://docs.artemis.ase.in.tum.de/user/exam_mode/) as reference.
4. ...

### Review Progress
<!-- Each Pull Request should be reviewed by at least two other developers. The code as well as the functionality (= manual test) needs to be reviewed. -->
<!-- Each Pull Request should be reviewed by at least two other developers. The code, the functionality (= manual test) and the exam mode need to be reviewed. -->
<!-- The reviewer or author check the following boxes depending on what was reviewed or tested. All boxes should be checked before merge. -->
<!-- You can add additional checkboxes if it makes sense to only review parts of the code or functionality. -->
<!-- When changes are pushed, uncheck the affected boxes. (Not all changes require full re-reviews.) -->
<!-- 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. -->

#### Code Review
- [ ] Review 1
- [ ] Review 2
#### Manual Tests
- [ ] Test 1
- [ ] Test 2
#### Exam Mode Test
- [ ] Test

### Test Coverage
<!-- Please add the test coverages for all changed files here. You can see this when executing the tests locally (see build.gradle and package.json) or when looking into the corresponding Bamboo build plan. -->
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: 'zulu'
distribution: 'temurin'
java-version: '${{ env.java }}'
cache: 'gradle'
- name: Production Build
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ jobs:
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: 'zulu'
distribution: 'temurin'
java-version: '${{ env.java }}'
cache: 'gradle'

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/issue-opened.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Add Issue to Project
uses: alex-page/github-project-automation-plus@v0.8.1
uses: alex-page/github-project-automation-plus@v0.8.2
with:
project: Artemis Development
column: To do
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pullrequest-opened.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Add Pull Request to Project
uses: alex-page/github-project-automation-plus@v0.8.1
uses: alex-page/github-project-automation-plus@v0.8.2
with:
project: Artemis Development
column: In progress
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pullrequest-readyforreview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:

- name: Move to "Ready for review" column
if: github.event.pull_request.draft == false
uses: alex-page/github-project-automation-plus@v0.8.1
uses: alex-page/github-project-automation-plus@v0.8.2
with:
project: Artemis Development
column: Ready for review
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pullrequest-reopened.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
steps:
- name: Move to "In progress" column
if: github.event.pull_request.draft == true
uses: alex-page/github-project-automation-plus@v0.8.1
uses: alex-page/github-project-automation-plus@v0.8.2
with:
project: Artemis Development
column: In progress
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: 'zulu'
distribution: 'temurin'
java-version: '${{ env.java }}'
cache: 'gradle'
- name: Java Tests
Expand All @@ -73,7 +73,7 @@ jobs:
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: 'zulu'
distribution: 'temurin'
java-version: '${{ env.java }}'
cache: 'gradle'
- name: Java Code Style
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ The Artemis development team prioritizes the following issues in the future. We
* [How to set up your local development environment](https://docs.artemis.ase.in.tum.de/dev/setup/)
* [Server coding and design guidelines](https://docs.artemis.ase.in.tum.de/dev/guidelines/server/)
* [Client coding and design guidelines](https://docs.artemis.ase.in.tum.de/dev/guidelines/client/)
* [Code Review Guidelines](https://docs.artemis.ase.in.tum.de/dev/guidelines/code-review/)
* [Code Review Guidelines](https://docs.artemis.ase.in.tum.de/dev/guidelines/development-process/#review)

### Documentation

Expand All @@ -75,7 +75,7 @@ You can find a guide on [how to write documentation](docs/README.md).

### Server setup

You can set up Artemis in conjunction with either [`GitLab and Jenkins`](https://docs.artemis.ase.in.tum.de/dev/setup/jenkins-gitlab) or with [`Jira, Bitbucket and Bamboo`](https://docs.artemis.ase.in.tum.de/dev/setup/bamboo-bitbucket-jira).
You can set up Artemis in conjunction with either [`GitLab and Jenkins`](https://docs.artemis.ase.in.tum.de/dev/setup/#jenkins-and-gitlab-setup) or with [`Jira, Bitbucket and Bamboo`](https://docs.artemis.ase.in.tum.de/dev/setup/#bamboo-bitbucket-and-jira-setup).
Artemis uses these external tools for user management and the configuration of programming exercises.

### Administration setup
Expand All @@ -84,7 +84,7 @@ If needed, you can configure self service [user registration](https://docs.artem

### Contributing

Please read the guide on [how to contribute](/CONTRIBUTING.md) to Artemis.
Please read the guide on [how to contribute](CONTRIBUTING.md) to Artemis.

### Building for production

Expand Down
14 changes: 7 additions & 7 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ plugins {
}

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

sourceCompatibility=17
Expand Down Expand Up @@ -196,14 +196,14 @@ dependencies {
implementation "org.eclipse.jgit:org.eclipse.jgit:${jgit_version}"
implementation "org.eclipse.jgit:org.eclipse.jgit.ssh.apache:${jgit_version}"
// https://search.maven.org/artifact/net.sourceforge.plantuml/plantuml
implementation "net.sourceforge.plantuml:plantuml:1.2022.8"
implementation "net.sourceforge.plantuml:plantuml:1.2022.12"
implementation "org.imsglobal:basiclti-util:1.2.0"
implementation "org.jasypt:jasypt:1.9.3"
implementation "me.xdrop:fuzzywuzzy:1.4.0"
implementation "com.atlassian.bamboo:bamboo-specs:8.2.5"
implementation "com.thoughtworks.qdox:qdox:2.0.3"
implementation "io.sentry:sentry-logback:6.5.0"
implementation "io.sentry:sentry-spring-boot-starter:6.5.0"
implementation "io.sentry:sentry-logback:6.6.0"
implementation "io.sentry:sentry-spring-boot-starter:6.6.0"
implementation "org.jsoup:jsoup:1.15.3"
implementation "commons-codec:commons-codec:1.15" // needed for spring security saml2

Expand All @@ -223,7 +223,7 @@ dependencies {
implementation "com.fasterxml.jackson.core:jackson-databind:${fasterxml_version}"
implementation "com.hazelcast:hazelcast:${hazelcast_version}"
implementation "com.hazelcast:hazelcast-spring:${hazelcast_version}"
implementation "com.hazelcast:hazelcast-hibernate53:2.2.1"
implementation "com.hazelcast:hazelcast-hibernate53:2.3.0"
implementation "javax.cache:cache-api:1.1.1"
implementation "org.hibernate:hibernate-core:${hibernate_version}"
implementation "com.zaxxer:HikariCP:5.0.1"
Expand Down Expand Up @@ -280,7 +280,7 @@ dependencies {
implementation "com.github.seancfoley:ipaddress:5.3.4"
implementation "org.apache.maven:maven-model:3.8.6"
implementation "org.apache.pdfbox:pdfbox:2.0.27"
implementation "com.google.protobuf:protobuf-java:3.21.8"
implementation "com.google.protobuf:protobuf-java:3.21.9"
implementation "org.commonmark:commonmark:0.20.0"
implementation "de.tum.in.ase.athene:client:0.0.2"

Expand Down Expand Up @@ -308,7 +308,7 @@ dependencies {
testImplementation "org.apache.maven.shared:maven-invoker:3.2.0"
testImplementation "org.gradle:gradle-tooling-api:7.3"
testImplementation "org.apache.maven.surefire:surefire-report-parser:3.0.0-M7"
testImplementation "com.opencsv:opencsv:5.7.0"
testImplementation "com.opencsv:opencsv:5.7.1"

// Lightweight JSON library needed for the internals of the MockRestServiceServer
testImplementation "org.json:json:20220924"
Expand Down
6 changes: 3 additions & 3 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ version: '3'

services:
artemis-server:
command: sh -c "(apt update && apt install -y fontconfig ttf-dejavu graphviz || true) && ./gradlew buildJarForDocker && java -jar --add-exports java.naming/com.sun.jndi.ldap=ALL-UNNAMED build/libs/Artemis-*.jar"
command: sh -c "(apt update && apt install -y fontconfig fonts-dejavu graphviz || true) && ./gradlew buildJarForDocker && java -jar --add-exports java.naming/com.sun.jndi.ldap=ALL-UNNAMED build/libs/Artemis-*.jar"
depends_on:
- artemis-mysql
image: openjdk:17-jdk-buster
image: eclipse-temurin:17-jdk
environment:
- SPRING_DATASOURCE_URL=jdbc:mysql://artemis-mysql:3306/Artemis?createDatabaseIfNotExist=true&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=utf8&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC
- SPRING_PROFILES_ACTIVE=dev,bamboo,bitbucket,jira,artemis,scheduling
Expand Down Expand Up @@ -40,7 +40,7 @@ services:
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
- MYSQL_ROOT_PASSWORD=
- MYSQL_DATABASE=Artemis
image: mysql:8.0.30
image: mysql:8.0.31
networks:
- artemis
ports:
Expand Down
5 changes: 4 additions & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@ To get started with RST, check out the [Quickstart] or this [cheatsheet].

## Documentation Hosting

[Read the Docs] (RtD) hosts the [Artemis documentation] for the `develop` (latest) branch, as well as for git tags. The latest tag is always the _stable_ version.
[Read the Docs] (RtD) hosts the [Artemis documentation] for the `develop` (latest) branch, as well as for git tags.
You can switch the shown version at the bottom of the sidebar.
The latest tag is always the _stable_ version.
For pull requests, the documentation is available at `https://artemis-platform--{PR_NUMBER}.org.readthedocs.build/en/{PR_NUMBER}/`.
RtD will build and deploy changes automatically.

## Installing Sphinx Locally
Expand Down
2 changes: 1 addition & 1 deletion docs/dev/guidelines/client-tests.rst
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ Some guidelines:
expect(course).toBeUndefined();
expect(courseList).toHaveLength(4);
10. If you have minimized :code:`expect`, use the verification function that provides the most meaningful error message in case the verification fails. You can use verification functions from core Jest <https://jestjs.io/docs/expect> or from Jest Extended <https://github.com/jest-community/jest-extended#api>.
10. If you have minimized :code:`expect`, use the verification function that provides the most meaningful error message in case the verification fails. You can use verification functions from core `Jest <https://jestjs.io/docs/expect>`_ or from `Jest Extended <https://jest-extended.jestcommunity.dev/docs/matchers>`_.

11. For situations described below, only use the uniform solution to keep the codebase as consistent as possible.

Expand Down
12 changes: 6 additions & 6 deletions docs/dev/guidelines/development-process.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Naming Conventions for GitHub Pull Requests

1. The first term is a main feature of Artemis and is using code highlighting, e.g. “``Programming exercises``:”.

1. Possible feature tags are: ``Programming exercises``, ``Modeling exercises``, ``Text exercises``, ``Quiz exercises``, ``File upload exercises``, ``Lectures``, ``Exam mode``, ``Assessment``, ``Communication``, ``Notifications``. More tags are possible if they make sense.
1. Possible feature tags are: ``Programming exercises``, ``Modeling exercises``, ``Text exercises``, ``Quiz exercises``, ``File upload exercises``, ``Lectures``, ``Exam mode``, ``Assessment``, ``Communication``, ``Notifications``, ``Tutorial groups``. More tags are possible if they make sense.
2. If no feature makes sense, and it is a pure development or test improvement, we use the term “``Development``:”. More tags are also possible if they make sense.
3. Everything else belongs to the ``General`` category.

Expand Down Expand Up @@ -69,7 +69,7 @@ Reviewer
* make sure you can easily understand the code.
* make sure that (extensive) comments are present where deemed necessary.
* performance is reasonable (e.g. number of database queries or HTTP calls).
* Submit your comments and status ((thumbs up) Approve or (thumbs down) Request Changes) using GitHub.
* Submit your comments and status (👍 Approve or 👎 Request Changes) using GitHub.
* Explain what you did (test, review code) and on which test server in the review comment.

4. Respond to review
Expand All @@ -89,7 +89,7 @@ Reviewer
* Respond to questions raised by the reviewer.
* Mark conversations as resolved if the change is sufficient.

Iterate steps 3 & 4 until ready for merge (all reviewers approve (thumbs up))
Iterate steps 3 & 4 until ready for merge (all reviewers approve 👍)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

5. Merge
Expand All @@ -102,11 +102,11 @@ Stale Bot
=========

If the pull request doesn't have any activity for at least 7 days, the stale bot will mark the PR as `stale`.
The `stale` status can simply be removed by adding a comment or a commit to the PR.
The `stale` status can simply be removed by adding a comment or a commit to the PR.
After the PR is marked as `stale`, the bot waits another 14 days until the PR will be closed (21 days in total).
Adding activity to the PR will remove the `stale` label again and reset the stale timer.
Adding activity to the PR will remove the `stale` label again and reset the stale timer.
To prevent the bot from adding the `stale` label to the PR in the first place, the `no-stale` label can be used.
This label should only be utilized if the PR is blocked by another PR or the PR needs help from another developer.
This label should only be utilized if the PR is blocked by another PR or the PR needs help from another developer.

A full documentation on this bit can be found here:
https://github.com/actions/stale
2 changes: 1 addition & 1 deletion docs/dev/setup/kubernetes.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ If you want to run with local user management and no programming exercises setup

1. Go to the ``src/main/resources/config/application-artemis.yml`` file, and set use-external in the user-management section to false.
If you have created an additional ``application-local.yml`` file as it is described in the
`Setup documentation <https://artemis-platform.readthedocs.io/en/latest/dev/setup/#server-setup>`__, make sure to edit this one.
`Setup documentation <https://docs.artemis.ase.in.tum.de/dev/setup/#server-setup>`__, make sure to edit this one.

Another possibility is to add the variable directly in ``src/main/kubernetes/artemis/configmap/artemis-configmap.yml``.

Expand Down
6 changes: 3 additions & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ npm_version=8.1.2
# Dependency versions
jhipster_dependencies_version=7.8.1
spring_boot_version=2.7.5
spring_security_version=5.7.4
spring_security_version=5.7.5
hibernate_version=5.6.12.Final
jaxb_runtime_version=4.0.1
hazelcast_version=5.1.4
hazelcast_version=5.2.0
junit_version=5.9.1
mockito_version=4.8.1
fasterxml_version=2.13.4
jgit_version=6.3.0.202209071007-r
checkstyle_version=10.3.4
checkstyle_version=10.4
jplag_version=4.0.0
slf4j_version=1.7.36

Expand Down
Loading

0 comments on commit 59e6e75

Please sign in to comment.