Create a GitLab CI that performs backend UTs and frontend typecheck & lint
TeamCity is used for building the Docker images, but currently it has no unit test or linting checks. I've had to suggest formatting and linting to quite a few merge requests over the last month or so, and I think it'd be greatly beneficial for both the maintainer side and the contributor side if these issues were highlighted by CI automatically.
This MR attempts to introduce some lightweight GitLab-local CI to perform backend unit tests and frontend typecheck, lint, and formatting so that our codebase remains maintainable and clean.
TeamCity is still used for building images. (Although at this moment in time, its pipeline status information isn't propagated to GitLab properly due to some expired tokens).