Metadata-Version: 2.1
Name: tox-gh-actions
Version: 1.1.0
Summary: Seamless integration of tox into GitHub Actions
Home-page: https://github.com/ymyzk/tox-gh-actions
Author: Yusuke Miyazaki
Author-email: miyazaki.dev@gmail.com
Maintainer: Yusuke Miyazaki
Maintainer-email: miyazaki.dev@gmail.com
License: MIT
Project-URL: Source, https://github.com/ymyzk/tox-gh-actions
Project-URL: Tracker, https://github.com/ymyzk/tox-gh-actions/issues
Description: # tox-gh-actions
        [![PyPI version](https://badge.fury.io/py/tox-gh-actions.svg)](https://badge.fury.io/py/tox-gh-actions)
        [![PyPI Supported Python Versions](https://img.shields.io/pypi/pyversions/tox-gh-actions.svg)](https://pypi.python.org/pypi/tox-gh-actions/)
        [![GitHub license](https://img.shields.io/github/license/ymyzk/tox-gh-actions)](https://github.com/ymyzk/tox-gh-actions/blob/master/LICENSE)
        [![GitHub Actions (Tests)](https://github.com/ymyzk/tox-gh-actions/workflows/Tests/badge.svg)](https://github.com/ymyzk/tox-gh-actions)
        
        **tox-gh-actions** is a tox plugin which helps running tox on GitHub Actions
        with multiple different Python versions.  This project is inspired by
        [tox-travis](https://github.com/tox-dev/tox-travis).
        
        ## Usage
        1. Add configurations under `[gh-actions]` section along with tox's configuration.
           - It will be `pyproject.toml`, `tox.ini`, or `setup.cfg`. See [tox's documentation](https://tox.readthedocs.io/en/latest/config.html) for more details.
        
        2. Install `tox-gh-actions` package in the GitHub Actions workflow before running `tox` command.
        
        ## Examples
        ### Basic Example
        The following configuration will create 4 jobs when running the workflow on GitHub Actions.
        - On Python 2.7 job, tox runs `py27` environment
        - On Python 3.6 job, tox runs `py36` environment
        - On Python 3.7 job, tox runs `py37` environment
        - On Python 3.8 job, tox runs `py38` and `mypy` environments
        
        #### tox-gh-actions Configuration
        Add `[gh-actions]` section to the same file as tox's cofiguration.
        
        If you're using `tox.ini`:
        ```ini
        [tox]
        envlist = py27, py36, py37, py38, mypy
        
        [gh-actions]
        python =
            2.7: py27
            3.6: py36
            3.7: py37
            3.8: py38, mypy
        
        [testenv]
        ...
        ```
        
        If you're using `setup.cfg`:
        ```ini
        [tox:tox]
        envlist = py27, py36, py37, py38, mypy
        
        [gh-actions]
        python =
            2.7: py27
            3.6: py36
            3.7: py37
            3.8: py38, mypy
        
        [testenv]
        ...
        ```
        
        If you're using `pyproject.toml`:
        ```toml
        [tool.tox]
        legacy_tox_ini = """
        [tox]
        envlist = py27, py36, py37, py38, mypy
        
        [gh-actions]
        python =
            2.7: py27
            3.6: py36
            3.7: py37
            3.8: py38, mypy
        
        [testenv]
        """
        ```
        
        #### Workflow Configuration
        `.github/workflows/<workflow>.yml`:
        ```yaml
        name: Python package
        
        on: [push]
        
        jobs:
          build:
            runs-on: ubuntu-latest
            strategy:
              max-parallel: 4
              matrix:
                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@v1
              with:
                python-version: ${{ matrix.python-version }}
            - name: Install dependencies
              run: |
                python -m pip install --upgrade pip
                pip install tox tox-gh-actions
            - name: Test with tox
              run: tox
        ```
        
        ### Advanced Example
        The following configuration will create 2 jobs when running the workflow on GitHub Actions.
        - On Python 2.7 job, tox runs `py27-django111` environment
        - On Python 3.7 job, tox runs `py37-django111` and `py37-django20` environments
        
        `tox.ini`:
        ```ini
        [tox]
        envlist = py27-django{111}, py37-django{111,20}
        
        [gh-actions]
        python =
            2.7: py27
            3.7: py37
        
        [testenv]
        ...
        ```
        
        PyPy is also supported in the `python` configuration key.
        
         `tox.ini`:
        ```ini
        [tox]
        envlist = py27, py38, pypy2, pypy3
        
        [gh-actions]
        python =
            2.7: py27
            3.8: py38, mypy
            pypy2: pypy2
            pypy3: pypy3
        
        [testenv]
        ...
        ```
        
Keywords: virtual,environments,isolated,testing
Platform: any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: tox
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Utilities
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: !=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7
Description-Content-Type: text/markdown
Provides-Extra: testing
