Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • dojo_project/projects/pipelines/dojoassignmentchecker
1 result
Select Git revision
  • jw_sonar
  • jw_sonar_backup
  • main
  • update-dependencies
  • v5.0.0
  • v6.0.0
  • 2.2.0
  • 3.0.0
  • 3.1.0
  • 3.2.0
  • 3.3.0
  • 3.4.0
  • 3.5.0
  • 4.0.0
  • 4.1.0
  • 4.1.1
  • 4.2.0
  • 5.0.0
  • 6.0.0-dev
19 results
Show changes
Commits on Source (61)
Showing
with 2789 additions and 1595 deletions
......@@ -5,6 +5,9 @@ Wiki/.idea
AssignmentChecker/src/config/Version.ts
sonarlint.xml
sonarlint/
############################ MacOS
# General
.DS_Store
......
#/-------------------.env.vault---------------------/
#/ cloud-agnostic vaulting standard /
#/ [how it works](https://dotenv.org/env-vault) /
#/ [how it works](https://dotenvx.com/env-vault) /
#/--------------------------------------------------/
# development
DOTENV_VAULT_DEVELOPMENT="biskRKp1QVLGJZPho7qBeMqR/Jnu9DoopaIx9QpP6stNabBLXQwwlsDgnB0bxFbf8h9FpqF71O0uUxcZYalvLFRuRbU0nYd5FOqAoRCfZcoYECO8zbdabM1ZIKvqtJTQ9V5Epc9MWcVLCjXwKQyspamAdGn5uyCjAny30NFwVggGvt1nsUsxEMeVFovss21g+R52KiVVeU1i+inkIxK9PTD8eo0u+GEF5YcrTDUiAXvk2PBFLsqtFNpyPpfE/3eQ6h8xaRcRyBPXeobH9Dpsn1nBOXzlSFZVr3XnLaQ/2hGQFSnWK7jZPjSs6bBVjzzAU3s+yryeip7Adc8x6TAE/rrNjRK/ENcfFcCuQDrnF0y5cjeKV52gbagsCA2OTOv77QzTx+um34fH2AyirPByEPYa18kMPvGyKLAdJNxjwdC48EvOjzXnTPMrFUiEBGHQ890pxbxM7F7WzwBWiOO+vooszTt3DVallNxkqIdJWLBknTctlc+x1TFjIySbTdcPvwTR11ohlOkB2XkuFgCKtOds+xd0xj+2pN14HcahLZnmYEJWZxWViciUN3h3cjvpgOLSoH8GvfdJGeD2NXRG+AGcYBGnfk9Ee+kPY7sp9emimnBiEgbF3jbayoXWL7O4uWourmcA+3nCTm5T2pUyypnk0X1flB4oZsA+303wwWGoAFVRCad/wiLxZSKJxuRhPrlAXlQFvn88xA8LWVWIWh0QC8it10QW/i3wsyxsDO6nIcAuK+hrCsmbL028CUwAFCyamj1YJPGUDTkazykJKIV/7cf2zz7Vfsn2o9XuLUI0t5cYAVR/36LOxDvZGbznB4tyiwMyV1NDUKmlpoV0pZq4kVEEqtKf3oJqof63p+0GIvXCsyg1Ux2cepeUqj6PyrMdreNKojmQt/iJUfvzWoc0P3gpQZ1diNeP5dcP7EeTCtYYQEo0SXwyke62/CN1hyfrGRhzGqk41EwVdZ+6MbmwjX5GqRVVhfslibp14UIW9091NNaPp1cVAk7tdKqWiILdS76MGuFdEQ=="
DOTENV_VAULT_DEVELOPMENT="v5cLWVDiO2FrRAsgWm0WzHVNlbdHISRhnDukLs+Ic4p8VpZmlXjvx3qwMBsLxGjk5uFHe3WjFrVnmZYHnoHlm6uA1GV8pweTf5/AFMxMMUdsT5GltfNTcorqhRMt7HOhisDksnZfevWvxbdTdNK7ue3XJuT6+QNKARJnF2H0n5hr53cptn1a6jiTmJpHTVmI3ltgj1xFLt1eHRjY2S8+fqosLhIfeaeWTbXr4mFt1a+xSMVhMiI2V3ZrHSokktjFUdc3NHNZH3mAjcN5b02NoyThjd3f02xfGKBUmLOQGMr4vcVV6O9nH69UzjkeQ2vwFdBhqP8Brb/6atbr7ORSRuXsRrYv2r94TM0JbwIKzhjfAUjs7u1YETUGiHOuB9RxWPznHyr39+bvbVTNoQ0wh/o+EehP9Jy2+y5knj4Ix6152rXcQaADW75uuUkvaqWJPCZoRr0Qm6rYuPYhJvQxdcBua6yol8H+ADdyoQnv83nVpjTsMUQzGjZ24voeMDC1VNsW2EySn2FRl6rGwUUPF811vrqsFrQw5wobKOSxDf6csWIlM7yqjBX/OeVq6p99Eovb4c34S0VX1pbnvshervNvtB7iByz3vk3BPQWULqLhl4gdAlu9u0t52UenX6j8yX6bRUMj/b20ijTuYs6jzKkp8k01DNuycVfgDjw+HRyvpUdFV5t4W4Y09UDzK1Euz390IRkAhVCBWXyuwMJrs0BCg1pktt6CcfF5X16ZvQCqMxMcAwKMcscO+qYl+tP80GPSULkvJnk8ngdJYjsNX39tk6XL/8hRrBLsdFz/0/lp1QchM4RfN+Mist84DBZN10FrNkcBZrjxQxUjkQe0qdEByRTlbOX+qOYR"
# production
DOTENV_VAULT_PRODUCTION="yiENG4HlypxtJvzOpefbmaQEfvHs+r8yjSOKy9enpuzErwYf8r1c+T9er2Ic+HOm76u4z3IWT0r0m6+BQtmmGZlQvmwW1i4qLEqaAPBALjVT0O4w6EPBiFqcjPkXt0C4sxAz+vy3rH9cijS7xmnyLbFDmRXe0/PDwTnqQFcmK6S1SvkjbvNC8E55BsXYFaO3m1p4LG4y9WQAqUT8vcADYrvrTEDP2tApyolT3Rj1iRHBEKjPA3zBZgbP7kE8jCF5UTOHT2NlL+wM9SwVxmRLzc3R5eSGw447SleWRT2F4Ke19Wu2Oh1TmN9FGSEH38YQCFzer6O60Ko2mP7Zz3TqPfPQXgi0Qlwh+nPekA0rV7SO7THYRO/4r5N9rQnc/KnrW0WoXKdG0uzy1HSXpQeB104UjjcgAXqcxrO0dd5t+acijmmbvWhe2o0WFgbmkYbrwh6zL6QNFYRYFI66xHUB48FWfjPcrWJYVBT4axqRGpinjtJpWav3ZybD5tTjn5IKzh9cMkcf3skHsWLpWYfAM7sG5e4uV4ulSNzKQXcyyTuwyOQhoYSthrqVrea3UrneJPvQ2omrUN13OpcLC96H+f+92kWV7zRO3xiupw8WPBHWXqia0YMbDq1mDuQS2zRpjKzlMVgfeg9SxO6Dsffu44pqKM/kIuYKcSmEohMK8zrZwdoHvROUIBYmaO+izQM+soQNGjKuM/6TdHmQOqsDCLJmSWGz5roCqDA8pkpAHiEEO7vwJ96sd2t86BakQ2F9atrxzutHe1Skhtf2kGeY/TCAbCY+vuZLlj26XhOpaXwrjO+5rQKAeWtYZJFkXC9NwNe5KoTK906KWgt1NdP8ZQCnjhaskhiWhLM3+sDiHheP8dHBwNrno792DWeuI/PmzH3xmRjX0KIdTfMffJyPPc3VWdMBx+xc0FbedfR+0hB6FUM="
DOTENV_VAULT_PRODUCTION="jlK4TyQDmkmjRodFCBJZ59wkB78KF9/nuhmU82+Njwg28YMr2bd9Yx2E7d9AjKlB0RykTe+coQXl5p3cMDNaZrjeaTY9gfB9+JbEQEaVignHusPMlw2mrkG7ishC1n0aCvrUpFPZ6wf3ClE46IdSADnGc+ZbqmG09JkwFkY9X/93wzO6zyPjj4ffChg6GJa8fqLWgCakvRs9tSKbogBiwWqwaubA1UgqPCwIKN6j8q+9WXy8jwzuCGTr1Y16xD/wM/s8hWMbkWxPQfNfful1XWhwQENsp23HtnP3lB0pBKcYvqrN/a33Ta1y4dYL96A8N5V+Kjetj5U8k+ESzDM2j4i5648wVicP2NKyYjZpGIfp1iqOE/cnASj0hCzvHZodM8aQF65a/NnOVFx+bsRgxDe1smSUAFBPnMFLwrsTFvKfqZ74cOpx8TTwx5gdgxkQ7rFJhHVI0INd6mgmnhrhYZfL9j3oEyoGe8Tl9l7rQpzijPS1ORvbG9BjfrKVKLnN34Dm3q22BvLOghPUr4NaKnn1Ht6X1yQ="
# test
DOTENV_VAULT_TEST="AJm8/s8wKKamlb/pii7b1vf0oJqAtm9nvLc/x7+LeC8GghraopINMNubJKnvIMQ/5YM47M8Zuux5u+vKlp3JY5MfuWDPx5X6pem1MX6mZW84fnnZMSRhkNqIco0CvqlcyXIfdxzs/jx9kD/rgfQIjLmg0nT7je/sKMZKrEjZXOnnbyOxldNNyiIriyMMnBP9Od7/8BrEyzKspKyEaw8l0IiFR7vuF8A1XgcSu7V9TbSMK7D81lRtpRYS2w3EC6ehPfctb/13YxJ2OxKr/saePDN1umsH5I8mJjf500Kftvb12QYTMJ04KaEfv5yIAXeSavlizItuaxyrDPDkyez1nT2DARjSpmKgyxxnbmYUtOT7cMSPN+TQ3vLlH1DnGdp5NwC/JewqUSA+k/OnN3Jp+3D7BB4YsgKZwRfzgQM70uYAoyPllfO4GBrq2B4+E8EY8DUzAOflsT6V9iFtqkktsAKupEGhbLRr57+EfNAZFymfHe8NWDYFAQUqZepG9NAuo9NOuNxeFMHxXcflSZEoOmjps+FD14Wxmtanx5FbxbFt8PdX8JWlHh2ryh5tlhmgylzgflknJ6964plT0et5bEXPMMy7Gq/09G2r1EN1iRcp5HVcWEBc2OpR2VNxQONy+bOxecNk6tfPIsp401QTr3oNtGMQ2uWYem1w8TsPBO8x8IoTQsrEW6Zv4KyHUAETXGuZ7tKNbm252zRI3MqfSQA2tix7JBdGhd0wq8HBaXeRaQ38JdpKlzgzirHx0bkMZnrQauzlW9aa7HI/Y7GXNmGfSuwmeT8CGwBPORDODZYjlgnqfQUkuSpsiq7sJAX6hYJacg5ikyxRtaUuVMFjckw3rjP56wDcGA0SKw=="
DOTENV_VAULT_TEST="s/Z1NuVV/lTmsiR5u+eFKqDTI08aVumlfkcDYiptzfXrxPI8fbTPYTz3sgM0MZ1x861WY8Jl6AUvE1rlmIIrkqHTWonNvjO2rp0SdwfQiE9rAJ+HqJhposcYX3Qn6Fn6JYELlXP+TNShGCVVDsoZD1a3vtg2fOlfCD2Gv/RdNJKGvCeCZlxSxFzid52YT1bs0EgjXT8tzDEClpIapski7UU2zG+lq1IPku7s98xqsyC8bOEsxD8VxIwSEbTUe1S1nxRqdAFrv9gLJPoQPbHwGXnQVnnBB6sT7mEFxHHtdNrHoMbMlTauZuJVdL3gcGLQ3ujT9V2RvheKGeTuyD4eyYu53Y0KGkROV2C18qaWkV4cgrbE5h8uIkokGFE5KVXvLNO9BpqUvPVrjNY6l2YyIKvB4QPsl3C7ONOVxIoVCeFK9e4htOKFVsOFYjOEOFKkfN0Mno0M/KJTIH6wD9aA2PEDzNM/2fVaDO45YKYRahkjerEvS0GZqGtIhpr8IOR0xO6/ATMz6BHsMnTunne+5o2beNtZVobJDQ=="
dist
node_modules
.gitlab-ci
\ No newline at end of file
{
"root" : true,
"parser" : "@typescript-eslint/parser",
"plugins": [
"@typescript-eslint"
],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended"
]
}
\ No newline at end of file
......@@ -55,9 +55,13 @@
- |
if [[ $CI_COMMIT_REF_PROTECTED == "true" || $IS_TEST == true ]]; then
echo "Decrypt production env vars"
sed -i -r "s/(DOTENV_KEY[ ]*:[ ]*[\'\"\`])[^'\"\`]*([\'\"\`])([ ]*\,)?//g" src/app.ts
sed -i -r "s/,[\ \n]*\}/\}/g" src/app.ts
npx dotenv-vault local decrypt "${DOTENV_PROD_KEY}" > .env
sed -i -r "s/(DOTENV_KEY[ ]*:[ ]*[\'\"\`])[^'\"\`]*([\'\"\`])([ ]*\,)?//g" src/init.ts
sed -i -r "s/,[\ \n]*\}/\}/g" src/init.ts
echo "DOTENV_KEY_PRODUCTION=\"${DOTENV_PROD_KEY}\"" > .env.keys
npx @dotenvx/dotenvx@0.45.0 decrypt
mv .env.production .env
rm .env.keys
fi
- cd ..
......@@ -71,7 +75,7 @@
- >
platform_array=$(echo $DOCKER_PLATFORMS | tr "," "\n");
for platform in $platform_array; do
echo "Buildind for : $platform"
echo "Building for: $platform"
docker buildx build --pull --platform $platform --file $DOCKERFILE --tag $CONTAINER_IMAGE .
done
......
......@@ -9,4 +9,32 @@ code_quality:lint:
- npm install
- npm run lint
rules:
- if: '$CI_COMMIT_TAG =~ "/^$/"'
- if: $CI_COMMIT_TAG
when: never
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
when: manual
- when: on_success
code_quality:sonarqube:
stage: code_quality
tags:
- code_quality
image:
name: leadrien/isc-sonar-scanner-cli
entrypoint: [ "" ]
variables:
SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar" # Defines the location of the analysis task cache
GIT_DEPTH: "0" # Tells git to fetch all the branches of the project, required by the analysis task
cache:
key: "${CI_JOB_NAME}"
paths:
- .sonar/cache
script:
- sonar-scanner
rules:
- if: $CI_COMMIT_TAG
when: never
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
when: manual
- when: on_success
......@@ -9,4 +9,12 @@ test:build:
script:
- !reference [ .build_script, script ]
rules:
- if: '$CI_COMMIT_TAG =~ "/^$/" && $CI_COMMIT_REF_PROTECTED != "true" && $CI_COMMIT_BRANCH != "test"'
\ No newline at end of file
- if: $CI_COMMIT_TAG
when: never
- if: $CI_COMMIT_REF_PROTECTED == "true"
when: never
- if: $CI_COMMIT_BRANCH == "test"
when: never
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
when: manual
- when: on_success
\ No newline at end of file
......@@ -12,4 +12,5 @@ build:version:
# Here docker buildx can use cached images created in previous step
- docker buildx build --platform $DOCKER_PLATFORMS --file $DOCKERFILE --push --tag $CONTAINER_IMAGE .
rules:
- if: '$CI_COMMIT_REF_PROTECTED == "true" || $CI_COMMIT_BRANCH == "test"'
\ No newline at end of file
- if: $CI_COMMIT_REF_PROTECTED == "true"
- if: $CI_COMMIT_BRANCH == "test"
\ No newline at end of file
......@@ -7,7 +7,7 @@ clean:release:
- !reference [ .get_version, script ]
- !reference [ .clean_release, script ]
rules:
- if: '$CI_COMMIT_REF_PROTECTED == "true"'
- if: $CI_COMMIT_REF_PROTECTED == "true"
clean:packages:
......@@ -19,10 +19,10 @@ clean:packages:
- !reference [ .get_version, script ]
- !reference [ .clean_packages, script ]
rules:
- if: '$CI_COMMIT_REF_PROTECTED == "true"'
- if: $CI_COMMIT_REF_PROTECTED == "true"
clean:dev:release:
clean:release:dev:
stage: clean
tags:
- gitlab_clean
......@@ -32,10 +32,10 @@ clean:dev:release:
- VERSION="${VERSION}${VERSION_DEV_SUFFIX}"
- !reference [ .clean_release, script ]
rules:
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
clean:dev:packages:
clean:packages:dev:
stage: clean
tags:
- gitlab_clean
......@@ -45,10 +45,10 @@ clean:dev:packages:
- VERSION="${VERSION}${VERSION_DEV_SUFFIX}"
- !reference [ .clean_packages, script ]
rules:
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
clean:dev:dockerhub:
clean:dockerhub:dev:
stage: clean
tags:
- clean
......@@ -72,4 +72,4 @@ clean:dev:dockerhub:
## Delete tag
- 'curl --header "Authorization: JWT ${TOKEN}" --request DELETE "https://hub.docker.com/v2/repositories/${DOCKER_REGISTRY_IMAGE}/tags/${VERSION}/"'
rules:
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
\ No newline at end of file
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
\ No newline at end of file
upload:packages:wiki:
upload:packages:doc:wiki:
stage: upload
tags:
- gitlab_package
......@@ -19,4 +19,4 @@ upload:packages:wiki:
# Send package
- 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file ${WIKI_ARCHIVE_PATH} "${PACKAGE_URL_WIKI}";'
rules:
- if: '$CI_COMMIT_REF_PROTECTED == "true"'
\ No newline at end of file
- if: $CI_COMMIT_REF_PROTECTED == "true"
\ No newline at end of file
......@@ -12,10 +12,11 @@ release:dockerhub:latest:
# Push latest tag
- docker buildx imagetools create $CONTAINER_IMAGE --tag $DOCKER_REGISTRY_IMAGE:latest
rules:
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH == "test"'
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
- if: $CI_COMMIT_BRANCH == "test"
release:wiki:
release:doc:wiki:
stage: release
tags:
- release
......@@ -60,7 +61,7 @@ release:wiki:
# Push the change back to the master branch of the wiki
- git push origin "HEAD:main"
rules:
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
- when: never
release:gitlab:
......@@ -100,4 +101,4 @@ release:gitlab:
--header "JOB-TOKEN: $CI_JOB_TOKEN" \
--request POST "${GITLAB_API_PROJECT_URL}/releases"
rules:
- if: '$CI_COMMIT_REF_PROTECTED == "true"'
\ No newline at end of file
- if: $CI_COMMIT_REF_PROTECTED == "true"
\ No newline at end of file
......@@ -6,3 +6,5 @@
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
# GitHub Copilot persisted chat sessions
/copilot/chatSessions
......@@ -15,4 +15,7 @@
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="SonarLintModuleSettings">
<option name="uniqueId" value="682e6500-c301-4a49-8741-50d7adfbb82c" />
</component>
</module>
\ No newline at end of file
jetbrainsConfiguration/dataSources/
\ No newline at end of file
Subproject commit ffc5d65f9f0f0e825688177425e526131aa84631
Subproject commit ef5c7bd49a57bc28db77bad797de4980133d6523
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MaterialThemeProjectNewConfig">
<option name="metadata">
<MTProjectMetadataState>
<option name="migrated" value="true" />
<option name="pristineConfig" value="false" />
<option name="userId" value="104e8585:19002424fea:-7ffe" />
</MTProjectMetadataState>
</option>
</component>
</project>
\ No newline at end of file
......@@ -2,6 +2,7 @@
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
<mapping directory="$PROJECT_DIR$/.idea/jetbrainsConfiguration" vcs="Git" />
<mapping directory="$PROJECT_DIR$/src/shared" vcs="Git" />
<mapping directory="$PROJECT_DIR$/src/sharedByClients" vcs="Git" />
</component>
......
########################### Node env vars
NODE_ENV=production
########################### App env vars
APP_NAME='DOJO ASSIGNMENT CHECKER'
ASSIGNMENT_FILENAME=dojo_assignment.json
ASSIGNMENT_NEEDED_FILES='["${ASSIGNMENT_FILENAME}", "docker-compose.yml"]'
LOGS_FOLDER=logs
EXERCISE_RESULTS_VOLUME=$CI_PROJECT_DIR/Results_of_exercise_$DOJO_EXERCISE_ID/
EXERCISE_RESULTS_FILENAME=results.json
DOCKER_COMPOSE_PROJECT_NAME=dojo
\ No newline at end of file
// @ts-check
// @formatter:off
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
export default tseslint.config({
ignores: [ 'dist/*', 'node_modules/*', '.gitlab-ci.yml', 'eslint.config.mjs' ]
}, eslint.configs.recommended, ...tseslint.configs.recommendedTypeChecked, {
languageOptions: {
parserOptions: {
project: true, tsconfigRootDir: import.meta.dirname
}
}
}, {
plugins: {
'@typescript-eslint': tseslint.plugin
}, rules: {
'@typescript-eslint/no-unsafe-assignment': 'off',
'@typescript-eslint/no-unsafe-member-access': 'off',
'@typescript-eslint/require-await': 'off',
'@typescript-eslint/restrict-template-expressions': 'off',
'@typescript-eslint/no-floating-promises': 'off',
}
});
\ No newline at end of file
This diff is collapsed.