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-ghpackage in the GitHub Actions workflow before runningtoxcommand.
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
py36environment, - on Python 3.7 job, tox runs
py37environment, - on Python 3.8 job, tox runs
py38environment, - in Python 3.9 job, tox runs
py39andtypeenvironments.
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
-eoption orTOXENVenvironment variabletox-ghrespects the given environments and simply runs the given environments without enforcing its configuration. - The plugin only activates if the environment variable
GITHUB_ACTIONSistrue.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tox_gh-0.0.4.tar.gz.
File metadata
- Download URL: tox_gh-0.0.4.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e67c18b07ee51a9a490e8ea5f86ffc079169f639935d589e26af656473730c6a
|
|
| MD5 |
11e9e7dedc753f729a2ad2b2bef8eb3a
|
|
| BLAKE2b-256 |
36db583d0544d550f36bd0fe5a44e54502479d1e8305a1dce69aef3b6e82d259
|
File details
Details for the file tox_gh-0.0.4-py3-none-any.whl.
File metadata
- Download URL: tox_gh-0.0.4-py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e13c2f98292742616ea54d91a4286767193a7a30420c495d8bea7a82d5c620d
|
|
| MD5 |
e139e7a149dc054cf91b3fcc32a80534
|
|
| BLAKE2b-256 |
a9e8528448c1b4d9b931d976274fb765e6d11990919e391eca01169ded92523b
|