DanXi icon indicating copy to clipboard operation
DanXi copied to clipboard

Unit test and Continuous Integration

Open singularity-s0 opened this issue 3 years ago • 2 comments

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

singularity-s0 avatar Feb 19 '22 11:02 singularity-s0

I purpose assigning the first task to @w568w, and the rest to @singularity-s0 myself.

singularity-s0 avatar Feb 19 '22 11:02 singularity-s0

建议叫“张三”之类的而不是“DanXi-Dev”

官网首页介绍上的图片并不是简单的放入截图,因此难以直接由ci来更新。但如果在官网中额外加一个无动画的简单介绍页(类似于在App Store与Google Play中的展示app截图和更新日志等信息的页面),那么可以考虑加入这样的功能。

关于官网的更新建议,还请前往 DanXi-Dev/danxi-dev.github.io 仓库提交 issue 👀

btw,官网页面其实经常小幅度更改,只是不明显罢了🙋‍♂️

官网首页的版本号已经是自动获取最新release了😋

KYLN24 avatar Feb 20 '22 07:02 KYLN24

Since the advocater has lost interests on the project, close it.

w568w avatar Jan 25 '23 10:01 w568w