This is the tracking issue for the CI overhaul.
Currently CI is in a horrible state with a bunch of non-functional code, an outdated build system, and an absolute mess of files.
Below are the current identified components and change proposals.
Workflow Components
Tool Installation
[ ] Node.js
[ ] Python
[ ] SpacemanDMM's dreamchecker
[ ] [NEW] Rustup & Rust
[ ] [NEW] OpenDream (for additional linting)
Linter Tasks
[ ] Ensure Directories are not "ticked"
[ ] Generate changelogs
[ ] Grep-based spellcheck (Need to double-check the code, but it looks like that's what it does)
[ ] Check PHP and JSON file syntaxes
[ ] Some script that I guess checks ticked files against schemas
[ ] Run tgui tests
[ ] Check if every DMI file can be parsed
[ ] Check if every DMM file can be parsed
[ ] Run spacemandmm's dreamchecker on the map
Potential Changes to Make
[ ] Switch python to using Rye (for better portability)
[ ] Switch Nodejs to Bunjs (faster, better direct TS support)
[ ] Ditch Juke as the build system (seems to have received no updates as of 3 years ago) -- Replace with cargo-make?
This is the tracking issue for the CI overhaul. Currently CI is in a horrible state with a bunch of non-functional code, an outdated build system, and an absolute mess of files. Below are the current identified components and change proposals.
Workflow Components
Tool Installation
Linter Tasks
Potential Changes to Make