Advanced documentation #8

Closed
opened 2024-11-21 14:06:32 +08:00 by 李衍志523370910113 · 7 comments

Dynamically record the obstacles and will revise back after the semmester

Dynamically record the obstacles and will revise back after the semmester
李衍志523370910113 added the
enhancement
label 2024-11-21 14:06:41 +08:00
manuel was assigned by 李衍志523370910113 2024-11-21 14:06:44 +08:00
李衍志523370910113 self-assigned this 2024-11-21 14:06:44 +08:00
Author
Member
  • in C++, CMakeLists.txt use the compiler as /usr/lib/llvm-18/bin/clang++ to avoid the improper error about links of libraries (do not use links from /usr/bin or clang-tidy will report errors related missing system headers)
  • for testcases that needs extra main functions, we put exi-main.c or exi-main.cpp into the folder together with the *.toml of *.json files, we also need to modify the CMakeLists.txt to compile things accoridngly
  • we may need to discuss to name providing header file as assignment.h or homework.h later
- in C++, `CMakeLists.txt` use the compiler as `/usr/lib/llvm-18/bin/clang++` to avoid the improper error about links of libraries (do not use links from `/usr/bin` or clang-tidy will report errors related missing system headers) - ~~for testcases that needs extra main functions, we put `exi-main.c` or `exi-main.cpp` into the folder together with the `*.toml` of `*.json` files, we also need to modify the `CMakeLists.txt` to compile things accoridngly~~ - ~~we may need to discuss to name providing header file as `assignment.h` or `homework.h` later~~
manuel changed title from Distribution issues in ENGR1510J and solutions to Advanced documentation 2024-11-22 08:40:15 +08:00
Owner

doc on how to bind mount point extra dir in go-judge (eg. 477 latex / 482 lemondb)

  • /etc/go-judge/mount.yaml (warning: check weither /proc is needed or not)
  • adjust systemd config to ensure it loads mount.yaml

\to likely admin level more than TT

doc on how to bind mount point extra dir in go-judge (eg. 477 latex / 482 lemondb) - `/etc/go-judge/mount.yaml` (warning: check weither `/proc` is needed or not) - adjust systemd config to ensure it loads `mount.yaml` $\to$ likely admin level more than TT
Owner

document git lfs issue (as part of a FAQ?) gitea tricks

document git lfs issue (as part of a FAQ?) [gitea tricks](https://focs.ji.sjtu.edu.cn/git/JOJ/JOJ3/wiki/Gitea-tips-and-tricks-for-TAs)
Author
Member

conf-release.json, generated from all conf.toml file or just out of conf-release.toml

`conf-release.json`, generated from all `conf.toml` file or just out of `conf-release.toml`
Author
Member
  • to simplify the usage of Grafana, we place each of the sanitzier stage in front of the run stage, each with name as [joj] exi-asan, [joj] exi-msan, [joj] exi-ubsan and [joj] exi run
  • to make sure we have proper warning for students, we only forcequit at run stage, not at sanitizer stage
  • for each testcases, TA should assign proper scores to them, high difficulty level testcases should have higher score
  • we may also need to figure out a proper guideline for how to distribute the score of each [cq] stage, [joj] stage, and compilation stage
  • we need to update all CMakeLists.txt in our templates repo, make sure everything works fine after the semester.
  • Note that we for memory sanitizer, we need to have the external lib also compiled using sanitizers,, current lbstc++ is not compiled using msan, detail info can be found here
- ~~to simplify the usage of Grafana, we place each of the sanitzier stage in front of the run stage, each with name as `[joj] exi-asan`, `[joj] exi-msan`, `[joj] exi-ubsan` and `[joj] exi run`~~ - ~~to make sure we have proper warning for students, we only forcequit at `run` stage, not at `sanitizer` stage~~ - ~~for each testcases, TA should assign proper scores to them, high difficulty level testcases should have higher score~~ - ~~we may also need to figure out a proper guideline for how to distribute the score of each `[cq]` stage, `[joj]` stage, and compilation stage~~ - ~~we need to update all `CMakeLists.txt` in our templates repo, make sure everything works fine after the semester.~~ - Note that we for memory sanitizer, we need to have the external lib also compiled using sanitizers,, current `lbstc++` is not compiled using msan, detail info can be found [here](https://github.com/google/sanitizers/wiki/MemorySanitizerLibcxxHowTo)
Author
Member
  • After the semester, we should chore out some of the redundant field in repo.toml, and do some refinement on some "permanent"(don't need to change from time to time) information into it
  • .gitignore is very sensitive with the space, remember to trim off the space at the end of each line
  • need to update CMakeLists.txt of h8 in templates
  • need to update CMakeLists.txt of h4 and h5
  • need to chore all the toml files
  • Fix h8/CMakeLists.txt, since we decide to merge h8/e2 and h8/e3 together next year, so we need to also pay attention to the general *.toml and *.json update
  • Consider remove sanitizer and run part for OpenGL related code, in this case it means we don't need -~~ ~~DHEADLESS, or directly compile with or without -DHEADLESS, so we can run those with -DHEADLESS, small
    adjustment should be done on compile scirpt side as well as h8/CMakeLists.txt. This also apply for p3.
  • fix testcases forcequit for h8/toml
- After the semester, we should chore out some of the redundant field in `repo.toml`, and do some refinement on some "permanent"(don't need to change from time to time) information into it - `.gitignore` is very sensitive with the space, remember to trim off the space at the end of each line - [x] ~~need to update `CMakeLists.txt` of `h8` in templates~~ - ~~need to update `CMakeLists.txt` of `h4` and `h5`~~ - ~~need to chore all the `toml` files~~ - ~~Fix `h8/CMakeLists.txt`, since we decide to merge `h8/e2` and `h8/e3` together next year, so we need to also pay attention to the general `*.toml` and `*.json` update~~ - ~~Consider remove `sanitizer` and `run` part for OpenGL related code, in this case it means we don't need `-~~ ~~DHEADLESS`, or directly compile with or without `-DHEADLESS`, so we can run those with `-DHEADLESS`, small~~ ~~adjustment should be done on `compile` scirpt side as well as `h8/CMakeLists.txt`. This also apply for `p3`.~~ - ~~fix testcases `forcequit` for `h8/toml`~~
Author
Member

Keep consistency within Makefile and CMakeLists.txt, because clang++ will automatically add -Wsign-conversion when using -Wconversion, while g++ would not. So we should update this flag in our Makefile

Keep consistency within `Makefile` and `CMakeLists.txt`, because `clang++` will automatically add `-Wsign-conversion` when using `-Wconversion`, while `g++` would not. So we should update this flag in our `Makefile`
Sign in to join this conversation.
No Milestone
No project
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: JOJ/JOJ3-config-generator#8
No description provided.