diff --git a/.github/workflows/remove-old-artifacts.yml b/.github/workflows/remove-old-artifacts.yml deleted file mode 100644 index 02746f918..000000000 --- a/.github/workflows/remove-old-artifacts.yml +++ /dev/null @@ -1,21 +0,0 @@ -# See https://github.com/c-hive/gha-remove-artifacts -name: Remove old artifacts - -on: - schedule: - # Every day at 1am - - cron: '0 1 * * *' - -jobs: - remove-old-artifacts: - runs-on: ubuntu-latest - timeout-minutes: 10 - - steps: - - name: Remove old artifacts - uses: c-hive/gha-remove-artifacts@v1 - with: - age: '1 week' - # Optional inputs - skip-tags: true - # skip-recent: 5 diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 000000000..ff2b45a6d --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1 @@ +{ "recommendations": ["Vue.volar", "esbenp.prettier-vscode"] } diff --git a/.vscode/settings.json b/.vscode/settings.json index b242572ef..7411bb509 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,4 @@ { - "githubPullRequests.ignoredPullRequestBranches": [ - "main" - ] -} \ No newline at end of file + "[jsonc]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, + "[vue]": { "editor.defaultFormatter": "esbenp.prettier-vscode" } +} diff --git a/scripts/build-backend b/scripts/build-backend index 57549071f..ed7c95f78 100755 --- a/scripts/build-backend +++ b/scripts/build-backend @@ -1,45 +1,22 @@ #!/usr/bin/env python3 import argparse +import shlex import subprocess +from pathlib import Path -def build(): - subprocess.run( - ["mvn", "package", "site", "jacoco:report-aggregate"], - cwd="backend", - check=True, - ) +DIR: Path = Path("backend") -def clean(): - subprocess.run( - ["mvn", "clean"], - cwd="backend", - check=True, - ) -def main(): - parser = argparse.ArgumentParser() - parser.add_argument( - "--clean", "-c", - action="store_true", - help="clean up build files instead of building" - ) - args = parser.parse_args() +def run(*cmd: str | Path) -> None: + print(f"$ {shlex.join(str(arg) for arg in cmd)}") + subprocess.run(cmd, check=True, cwd=DIR) - if args.clean: - clean() - else: - try: - build() - except subprocess.CalledProcessError: - print() - print("Build failed :(") - exit(1) - else: - print() - print("Build successful :)") - print("The backend.jar is at backend/backend/target/backend.jar") - print("The runner.jar is at backend/runner/target/runner.jar") -if __name__ == "__main__": - main() +parser = argparse.ArgumentParser() +_args = parser.parse_args() + +run("mvn", "package") +print() +print("The backend.jar is at backend/backend/target/backend.jar") +print("The runner.jar is at backend/runner/target/runner.jar") diff --git a/scripts/build-frontend b/scripts/build-frontend index f6506dd1c..a95d9fc1f 100755 --- a/scripts/build-frontend +++ b/scripts/build-frontend @@ -1,70 +1,36 @@ #!/usr/bin/env python3 import argparse -import shutil +import shlex import subprocess +from pathlib import Path -def build(env): - subprocess.run( - ["yarnpkg", "install"], - cwd="frontend", - check=True, - ) +DIR: Path = Path("frontend") - if env is None: - subprocess.run( - ["yarnpkg", "build"], - cwd="frontend", - check=True, - ) - else: - subprocess.run( - ["yarnpkg", "build", "--mode", env], - cwd="frontend", - check=True, - ) -def clean(clean_all=False): - print("Removing frontend/dist/") - shutil.rmtree("frontend/dist/", ignore_errors=True) +def run(*cmd: str | Path) -> None: + print(f"$ {shlex.join(str(arg) for arg in cmd)}") + subprocess.run(cmd, check=True, cwd=DIR) - if clean_all: - print("Removing frontend/node_modules/") - shutil.rmtree("frontend/node_modules/", ignore_errors=True) -def main(): - parser = argparse.ArgumentParser() - parser.add_argument( - "--env", - metavar="NAME", - help="name of the build environment to use. A corresponding file" - " '.env.NAME' must be present in the frontend/ directory" - ) - parser.add_argument( - "--clean", "-c", - action="store_true", - help="clean up build files instead of building" - ) - parser.add_argument( - "--clean-all", - action="store_true", - help="like --clean, but also removes node_modules" - ) - args = parser.parse_args() +parser = argparse.ArgumentParser() +parser.add_argument( + "--env", + metavar="NAME", + help="name of the build environment to use. A corresponding file" + " '.env.NAME' must be present in the frontend/ directory", +) +args = parser.parse_args() - if args.clean or args.clean_all: - clean(args.clean_all) - else: - try: - build(args.env) - except subprocess.CalledProcessError: - print() - print("Build failed :(") - exit(1) - else: - print() - print("Build successful :)") - print("The frontend files are at frontend/dist/") +run( + "yarnpkg", + "install", + # Yarnpkg complains about incompatible node versions, but the build seems to + # run fine, so we just tell it to shut up. + "--ignore-engines", +) -if __name__ == "__main__": - main() +if args.env is None: + run("yarnpkg", "build") +else: + run("yarnpkg", "build", "--mode", args.env) diff --git a/scripts/clean-backend b/scripts/clean-backend new file mode 100755 index 000000000..16734591d --- /dev/null +++ b/scripts/clean-backend @@ -0,0 +1,19 @@ +#!/usr/bin/env python3 + +import argparse +import shlex +import subprocess +from pathlib import Path + +DIR: Path = Path("backend") + + +def run(*cmd: str | Path) -> None: + print(f"$ {shlex.join(str(arg) for arg in cmd)}") + subprocess.run(cmd, check=True, cwd=DIR) + + +parser = argparse.ArgumentParser() +_args = parser.parse_args() + +run("mvn", "clean") diff --git a/scripts/clean-frontend b/scripts/clean-frontend new file mode 100755 index 000000000..1b0019ce5 --- /dev/null +++ b/scripts/clean-frontend @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 + +import argparse +import shutil +from pathlib import Path + +DIR: Path = Path("frontend") + + +def rm(path: Path) -> None: + print(f"Removing {path}") + shutil.rmtree(path, ignore_errors=True) + + +parser = argparse.ArgumentParser() +parser.add_argument( + "--all", + "-a", + action="store_true", + help="remove node_modules as well", +) +args = parser.parse_args() + +rm(DIR / "dist") + +if args.all: + rm(DIR / "node_modules") diff --git a/scripts/deploy-kit/deploy.sh b/scripts/deploy-kit/deploy.sh deleted file mode 100755 index 2c8813c09..000000000 --- a/scripts/deploy-kit/deploy.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash - -# This script deploys velcom to the installation at speedcenter.informatik.kit.edu/velcom. -# To do this, it pings a small server running there with the current credentials - -wget --ca-certificate=scripts/deploy-kit/kit-deployment.crt.pem \ - --output-document=- \ - --content-on-error \ - --header "X-Deploy-Secret: ${DEPLOY_SECRET}" \ - --header "X-Github-Name: ${GITHUB_NAME}" \ - --header "X-Github-Token: ${GITHUB_TOKEN}" \ - --header "X-Github-Run-Id: ${GITHUB_RUN_ID}" \ - --post-file=runner.jar \ - ${ENDPOINT} diff --git a/scripts/deploy-kit/kit-deployment.crt.pem b/scripts/deploy-kit/kit-deployment.crt.pem deleted file mode 100644 index 5fcd87f27..000000000 --- a/scripts/deploy-kit/kit-deployment.crt.pem +++ /dev/null @@ -1,34 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIF3TCCA8UCFCj6Ww+nZKcc4pLxc/5eqc4WDKHKMA0GCSqGSIb3DQEBCwUAMIGq -MQswCQYDVQQGEwJERTEbMBkGA1UECAwSQmFkZW4tV3VlcnR0ZW1iZXJnMRIwEAYD -VQQHDAlLYXJsc3J1aGUxKjAoBgNVBAoMIUthcmxzcnVoZSBJbnN0aXR1dGUgb2Yg -VGVjaG5vbG9neTEVMBMGA1UECwwMSVBEIFNuZWx0aW5nMScwJQYDVQQDDB5zcGVl -ZGNlbnRlci5pbmZvcm1hdGlrLmtpdC5lZHUwHhcNMjEwNzA4MTYxMTMzWhcNMjMw -NzA4MTYxMTMzWjCBqjELMAkGA1UEBhMCREUxGzAZBgNVBAgMEkJhZGVuLVd1ZXJ0 -dGVtYmVyZzESMBAGA1UEBwwJS2FybHNydWhlMSowKAYDVQQKDCFLYXJsc3J1aGUg -SW5zdGl0dXRlIG9mIFRlY2hub2xvZ3kxFTATBgNVBAsMDElQRCBTbmVsdGluZzEn -MCUGA1UEAwwec3BlZWRjZW50ZXIuaW5mb3JtYXRpay5raXQuZWR1MIICIjANBgkq -hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0YjmCI8sUcG/27ONUW/W/bviexQbzeLP -DGGuagRiBliklPEhiHfwqx2U3LMlU6tKn7WMggfKsH2ArFBJpu/9l+RQxyIAjfi7 -ZUvqoTCK9iB4PqE4gOOKHjTUBGbBZIrhaaioV2drdLB0J97FpuURSx80R/an15oC -askwwDbZSqZ5nMHYLlXbece2CZWB+TujVGOXshBQJCVF3yPTps5GbIFQZbRJAHOh -HB4x6wKof+jN0sp0NJo4LuwKt3eGCCN6ILil3E1yrYtEp0Ex00hzQtzvav08dLBF -UM7oezfrjLtFRJwG5KMrqlrMcmE9VDuk9xCEbIJtabUUTLO9eUohoB4wEt8tfXw3 -UFjAD27g8S3ah7bnRf5e0l5csDPlpdTOncs8ZhTGfzJ3+Vffgo6WAWspZb+rjuu/ -/wbGo26NlWPdW0o6YGhCsojUT6VT0STLoJogCXX0gIZQsrZcjrifJ/wBHIeb7xdz -Etcu1EvsKzMWXEiDDop6HI27xuHkxR5/DexQP+kKiZxQjdyIgVy9ELlzuCuR+U5n -UrfPpOp2Hkzodx+UTHZ5BT/2JDm/mdB+ysUWNBi1sNtohveeEPoK7YsXSjdy6LS7 -4Sa6PkPm+GMFagTJqIz9fMsC+6QlDESchROjL6MzGh4C8ewY2PO6yp/Ws1tS6Xay -ZX9EKLEfjbECAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAIQ4ffVva8ObCbuFdgJt8 -BfyElmLPg/sgiD+k74NDcleUGWNNluetWs1mNwecE3US3mKrUpXb2+GmA+oMgQzd -cAZhtJc/RwGJaR6muV/wg9AM17HZ6+zIyx6aHPHFgHb+tn5fD2hJ96EUsmPu+fCu -tu0PsaqkgD9qx0YNjbhu8ltj35FM0o+21UHEBb2V0nZLk8Cz7MVQOaYN+FTnUC6R -WZ9zGSI7VRh0OSsBN5WB2q2IxMEizb/91Uo2XxiBSY8eLiIwbWNqDHP+cH0bfuCt -f842kojVQdONNQw6ukrY9IXbB5A8xlXx0Ofqcu3aoANQV3O2bDhDlNIIbjpy0s/r -5Q3qm8jEvbdEMN+Oo+jWI9sfd8F4zfT406NVHrs39Wp+WU+NIN8BVmYCyKJ8tVNY -pgz4R+jJhbctbtzGcRztQ5zyh2neDxOOhqsHfNfRlxsLSV5upYNOk7BEYT5u/T/i -ZED0E0J6yWyA8daTdxOx665+m3FionFBVElIvJCGJFWXSvDG8t6xSahdhED4djrE -cWsnr28z9LUUFGxb82MRnqBxhUeHUt0PH6hXt5OF7HffLmzjzJtpUYcdWK2I4Uzc -MJfMqr6dKEbGQNPW0+r8LTNeKrBj5rVq5swq2gca0w1vQ6LQFH+gpm0lqcuJofjl -7332R4TInXf7UT1hJTDgVs8= ------END CERTIFICATE-----