DanXi
DanXi copied to clipboard
Unit test and Continuous Integration
As the app scales, we need to simplify production process. Currently we have CI for iOS builds, however this is not enough.
Every time we update the engine, Skia Shader Cache (SKSL) needs to be regenerated. Every time we make significant changes to UI, screenshots need to be regenerated and uploaded to stores and our webpage (screenshots on our webpage hasn't been updated for a century!). Both actions are time-consuming but can be automated through unit test and CI. Unit test also reduces the possibility of commits breaking certain functions (especially when the function only breaks on Material or Cupertino). I believe it is about time we automate these things.
TODO:
-
[ ] Create fake repo for unit tests. These repos return demo data that can be used to test features and generate screenshots without having to actually login and connect to servers. For example, demo UIS login repo could return "DanXi-Dev" as username so screenshots won't expose developers' private info; demo FDUHole repo could return certain select holes for screenshot generation.
-
[ ] Create UI tests Since our API isn't stable, our unit test mainly tests the UI of each unit. We aim to ensure that no assertion or error is thrown during this process, so that our UI has no hidden issues. SKSL could also be generated during this process to further automate iOS deployment.
-
[ ] Modify CI system to automatically run UI tests for each release and update screenshots (or even generate changelogs) as needed
I purpose assigning the first task to @w568w, and the rest to @singularity-s0 myself.
建议叫“张三”之类的而不是“DanXi-Dev”
官网首页介绍上的图片并不是简单的放入截图,因此难以直接由ci来更新。但如果在官网中额外加一个无动画的简单介绍页(类似于在App Store与Google Play中的展示app截图和更新日志等信息的页面),那么可以考虑加入这样的功能。
关于官网的更新建议,还请前往 DanXi-Dev/danxi-dev.github.io 仓库提交 issue 👀
btw,官网页面其实经常小幅度更改,只是不明显罢了🙋♂️
官网首页的版本号已经是自动获取最新release了😋
Since the advocater has lost interests on the project, close it.