Git操作的无缝集成
tox-gh-actions的Python项目详细描述
毒性生长激素作用
tox-gh actions是一个帮助在GitHub操作上运行tox的tox插件 在多个worker上并行使用多个不同的Python版本。 这个项目的灵感来自tox-travis。在
特点
在GitHub Actions上运行tox时,tox gh Actions
- 根据配置检测要运行的环境
- 专用实用程序,如grouping log lines。在
使用
- 在
在
[gh-actions]
部分下添加配置以及tox的配置。在- 它将是
pyproject.toml
,tox.ini
,或{}。有关详细信息,请参见tox's documentation。在
- 它将是
- 在
在运行
在tox
命令之前,在GitHub操作工作流中安装tox-gh-actions
包。在
示例
基本示例
以下配置将在GitHub操作上运行工作流时创建5个作业。在
- 在Python2.7作业中,tox运行
py27
环境 - 在python3.6作业中,tox运行
py36
环境 - 在python3.7作业中,tox运行
py37
环境 - 在python3.8作业中,tox运行
py38
和{}环境 - {Python,在
环境中运行
tox-gh作用配置
将[gh-actions]
节添加到与tox的配置相同的文件中。在
如果使用tox.ini
:
[tox]envlist=py27, py36, py37, py38, py39, mypy[gh-actions]python= 2.7: py27 3.6: py36 3.7: py37 3.8: py38, mypy 3.9: py39[testenv]...
如果你正在使用cd4{
^{pr2}$如果使用pyproject.toml
:
[tool.tox]legacy_tox_ini="""[tox]envlist = py27, py36, py37, py38, py39, mypy[gh-actions]python = 2.7: py27 3.6: py36 3.7: py37 3.8: py38, mypy 3.9: py39[testenv]"""
工作流配置
.github/workflows/<workflow>.yml
:
name:Python packageon:[push]jobs:build:runs-on:ubuntu-lateststrategy:max-parallel:5matrix:python-version:[2.7,3.6,3.7,3.8,3.9]steps:-uses:actions/checkout@v1-name:Set up Python ${{ matrix.python-version }}uses:actions/setup-python@v2with:python-version:${{ matrix.python-version }}-name:Install dependenciesrun:|python -m pip install --upgrade pippip install tox tox-gh-actions-name:Test with toxrun:tox
高级示例
因子条件设置:Python版本
以下配置将在GitHub操作上运行工作流时创建2个作业。在
- 在Python2.7作业上,tox运行
py27-django111
环境 - 在python3.7作业中,tox运行
py37-django111
和{}环境
tox.ini
:
[tox]envlist=py27-django{111}, py37-django{111,20}[gh-actions]python= 2.7: py27 3.7: py37[testenv]...
在python
配置键中也支持PyPy。在
tox.ini
:
[tox]envlist=py27, py38, pypy2, pypy3[gh-actions]python= 2.7: py27 3.8: py38, mypy pypy2: pypy2 pypy3: pypy3[testenv]...
因子条件设置:环境变量
您还可以使用环境变量来决定运行哪个环境。 下面是一个基于平台安装不同依赖项的示例。 在GitHub操作上运行工作流时,它将创建12个作业。在
- 在python2.7/ubuntu-latest job上,tox运行
py27-linux
环境 - 在python3.5/ubuntu-latest job上,tox运行
py35-linux
环境 - 等等。在
.github/workflows/<workflow>.yml
:
name:Python packageon:[push]jobs:build:runs-on:${{ matrix.platform }}strategy:max-parallel:4matrix:platform:[ubuntu-latest,macos-latest,windows-latest]python-version:[2.7,3.6,3.7,3.8]steps:-uses:actions/checkout@v1-name:Set up Python ${{ matrix.python-version }}uses:actions/setup-python@v2with:python-version:${{ matrix.python-version }}-name:Install dependenciesrun:|python -m pip install --upgrade pippip install tox tox-gh-actions-name:Test with toxrun:toxenv:PLATFORM:${{ matrix.platform }}
tox.ini
:
[tox]envlist=py{27,36,37,38}-{linux,macos,windows}[gh-actions]python= 2.7: py27 3.8: py38, mypy pypy2: pypy2 pypy3: pypy3[gh-actions:env]PLATFORM= ubuntu-latest: linux macos-latest: macos windows-latest: windows[testenv]deps= <common dependency> linux: <Linux specific deps> macos: <macOS specific deps> windows: <Windows specific deps>...
请参见tox's documentation about factor-conditional settings。在
覆盖要运行的环境
在2.0中更改:当通过-e
选项或TOXENV
环境变量(tox's help)显式指定要运行的环境列表时,
tox-gh actions尊重给定的环境,只运行给定的环境而不强制执行其配置。在
在2.0之前,tox-gh actions总是强制执行其配置,即使在显式给出环境列表时也是如此。在
调查
tox-gh操作使用tox.reporter
写入日志消息。
这有助于理解tox-gh作用的行为
在调试毒物-生长激素作用时。
要查看消息,请运行tox -vv
。在
- 项目
标签: