Git操作的无缝集成

tox-gh-actions的Python项目详细描述


毒性生长激素作用

PyPI versionPyPI Supported Python VersionsGitHub Actions (Tests)

tox-gh actions是一个帮助在GitHub操作上运行tox的tox插件 在多个worker上并行使用多个不同的Python版本。 这个项目的灵感来自tox-travis。在

特点

在GitHub Actions上运行tox时,tox gh Actions

使用

  1. [gh-actions]部分下添加配置以及tox的配置。在

    • 它将是pyproject.tomltox.ini,或{}。有关详细信息,请参见tox's documentation。在
  2. 在运行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。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
swing Java:使用带有箭头键的按键   JavaApache意外暂停以发出请求   Java通用方法。为什么T被推断为地图?   java SpringBootMavenPlugin命令将资源复制到WAR主目录   在创建对象之前使用的oop Java括号   java如何让GELFJ appender在log4j中工作?   按钮大小改变时java字体大小改变   JavaSpock:类强制转换异常,但可用于实际调用   未能编译生成的JSP java文件   java如何从命令行运行osgi模块?   jasper报道java。lang.ClassNotFoundException:org。乔达。时间可读部分   java如何在ANDROID中使用非UI线程(不影响UI线程)调用方法   java在servlet中动态生成JFreeChart   继承抽象类替代方案的java OOP接口   java drawScaledText()不适用于righttoleft语言   java从对象获取空属性   java JProfiler调用堆栈拆分   为java xml解析器编码时出现安卓错误   如果没有embercli和PHP或java,如何使用ember js?