1 [dev]Roadmap
张泊明518370910136 edited this page 2025-05-14 05:34:21 +08:00

Unsettled Roadmap

This is only a rough draft used to classify the tasks and make workload sharing easier.

Task classification

Can be implemented in parallel:

  • repo health:
    • check repo size
    • ensure checksum of basic files in unchanged (eg. .drone.yml, .gitattributes, .gitignore)
    • ensure no forbidden files was pushed
    • ensure existence of "must have files" (eg. changelog, readme)
    • ensure ascii files only have been pushed
    • ensure commit messages don't use non-ascii characters
    • fail on any issue and return an error (with hints to fix the problem)
    • reject commit that do not follow conventional commits
  • OJ module:
    • binary doing only the judging part
    • run a binary with cpu-time and memory constrains
    • return a "score" and a "status"
  • config:
    • define a "healthy" config file schema (using toml)
    • read/parse config file
  • write a framework allowing to run commands and combine all tasks together
  • gitea interface:
    • handle issues (open, post comments, set tags, milestone, etc.)
    • push files to a repo

Parsers

  • health check
  • file size (keyword parser)
  • clang tidy
  • cpplint
  • cppcheck
  • oj
  • elm/elf parser! (engr100 this summer)