使用GitHub操作矩阵策略,您可以指定您希望代码在哪个版本的python上运行(例如(,那么是否需要在GitHub动作工作流中运行tox?
tox提供了什么gh行动矩阵策略没有的东西吗?
谢谢!
否。因为您可以在本地运行tox
。在将测试推送到例如GitHub上之前,通常在本地运行测试是个好主意。
此外,使用tox
,您可以像tox --dev-env dev-env
一样轻松地创建本地开发环境。
再容易不过了。
在这里添加更多好东西(太多了,无法发表评论(:
请注意,您可以使用tox-gh操作让GitHub操作根据矩阵配置自动检测要运行的环境。通过这种方式,tox
不会尝试在GitHub上运行所有环境(只有与您的python匹配的环境(,但当您在本地测试时,它会运行。或者,你可以手动将tox环境映射到python版本,比如:
strategy:
matrix:
python-version: ["3.8", "3.9"]
include:
- python-version: "3.8"
tox-env: "py38"
- python-version: "3.9"
tox-env: "py39"
然后在测试步骤中运行tox -e ${{ matrix.tox-env }}
(除非您想为一个python版本使用多个环境,在这种情况下tox-gh-actions
可能更容易(。
您还可以使用actions/cache@v3
操作缓存.tox
文件夹。