Skip to main content

Seamless integration of tox into GitHub Actions

Project description

tox-gh-actions

PyPI version

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.

Usage

The following configuration will create 4 jobs when running the worlflow on GitHub Actions.

  • On Python 2.7 job, tox runs py27 environment
  • On Python 3.5 job, tox runs py34 environment
  • On Python 3.6 job, tox runs py35 environment
  • On Python 3.7 job, tox runs py37 and mypy environments

tox.ini:

[tox]
envlist = py27, py35, py36, py37, mypy

[gh-actions]
python =
    2.7: py27
    3.5: py35
    3.6: py36
    3.7: py37, mypy

[testenv]
...

.github/workflows/<workflow>.yml:

name: Python package

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      max-parallel: 4
      matrix:
        python-version: [2.7, 3.5, 3.6, 3.7]

    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 Usage

The following configuration will create 2 jobs when running the worlflow 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:

[tox]
envlist = py27-django{111}, py37-django{111,20}

[gh-actions]
python =
    2.7: py27
    3.7: py37

[testenv]
...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tox-gh-actions-0.2.0.tar.gz (4.9 kB view hashes)

Uploaded Source

Built Distribution

tox_gh_actions-0.2.0-py2.py3-none-any.whl (5.1 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page