Seamless integration of tox into GitHub Actions
Project description
tox-gh
tox-gh is a tox plugin which helps running tox on GitHub Actions with multiple different Python versions on multiple workers in parallel.
Features
When running tox on GitHub Actions, tox-gh
- detects which environment to run based on configurations and
- provides utilities such as grouping log lines.
Usage
- Add configurations under
[gh]
section along with your tox configuration. - Install
tox-gh
package in the GitHub Actions workflow before runningtox
command.
Examples
Basic Example
Add [gh]
section to the same file as tox configuration. If you're using tox.ini
:
[gh]
python =
3.6 = py36
3.7 = py37
3.8 = py38
3.9 = py39, type
This will run different set of tox environments on different python versions set up via GitHub setup-python
action:
- 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
environment, - in Python 3.9 job, tox runs
py39
andtype
environments.
Workflow Configuration
.github/workflows/check.yml
:
name: check
on:
push:
pull_request:
schedule:
- cron: "0 8 * * *"
jobs:
test:
name: test ${{ matrix.py }} - ${{ matrix.os }}
runs-on: ${{ matrix.os }}-latest
strategy:
fail-fast: false
matrix:
os:
- Ubuntu
- Windows
- MacOs
py:
- "3.10.0-rc.1"
- "3.9"
- "3.8"
- "3.7"
- "3.6"
steps:
- name: Setup python for test ${{ matrix.py }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.py }}
- uses: actions/checkout@v2
- name: Install tox-gh
run: python -m pip install tox-gh
- name: Setup test suite
run: tox4 r -vv --notest
- name: Run test suite
run: tox4 r --skip-pkg-install
env:
PYTEST_ADDOPTS: "-vv --durations=10"
FAQ
- When a list of environments to run is specified explicitly via
-e
option orTOXENV
environment variabletox-gh
respects the given environments and simply runs the given environments without enforcing its configuration. - The plugin only activates if the environment variable
GITHUB_ACTIONS
istrue
.
Project details
Release history Release notifications | RSS feed
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-0.0.3.tar.gz
(8.6 kB
view details)
Built Distribution
File details
Details for the file tox_gh-0.0.3.tar.gz
.
File metadata
- Download URL: tox_gh-0.0.3.tar.gz
- Upload date:
- Size: 8.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba1d8b97afd18c81a41a65b2127064459bad3961a967df0f9a92fc07f4884da9 |
|
MD5 | b9bf760afb61e84b3a5bb3432fa48ac2 |
|
BLAKE2b-256 | 59ce1fa73aadbf38c9f8bac2d53ec996051bc5a1839eb33f6346c92fdb6234c1 |
Provenance
File details
Details for the file tox_gh-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: tox_gh-0.0.3-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b758412caeda1101b6cf45fd42316bc3bbc78907d794d143c2dd415c3bc50f1 |
|
MD5 | f83300853a1756a53392c4f16e64fe0e |
|
BLAKE2b-256 | 14f3151eb5662d6b9708bcf928d9a4483aee25e20d4de78df755cb8eea50744c |