【发布时间】:2021-06-08 01:28:21
【问题描述】:
package 的某些测试需要在单个测试服务器上反复删除和写入数据。我不能同时运行这些测试,因为它们会相互干扰。
三个目标:
- 我想在三种不同的操作系统(Ubuntu、macOS 和 Windows)上运行 GitHub Action 作业。
- 我只想在 GitHub 上的 Ubuntu 作业上运行 delete+write 测试——我只想在 Mac 和 Windows 上跳过它们,前提是它在 GitHub 操作上运行。
- 但我不希望它们在某人的本地 mac 或 Windows 机器上运行时被跳过(和Win-Builder)。从理论上讲,两个开发人员可以互相踩到对方的脚趾,但这种情况发生得太少,根本不在乎。
几点说明:
- 理想情况下,目标服务器的一个版本会临时启动并托管在 GitHub 操作中。但是我不确定 REDCap 许可证是否允许这样做。
- 约 200 次测试中约有 20% 的检查应被跳过。其余的要么不调用服务器,要么是只读操作。因此,两个作业/操作系统是否同时运行它们并不重要。
- 在所有作业中,应运行 R-CMD 检查的所有非测试部分(例如,检查包依赖关系和小插曲)。
有没有办法将testthat skips 与GitHub Action environmental variables 结合起来?有没有更好的解决方案?
【问题讨论】:
标签: r github-actions testthat