Skip to content

Commit

Permalink
Bump CI
Browse files Browse the repository at this point in the history
Signed-off-by: Bernát Gábor <[email protected]>
  • Loading branch information
gaborbernat committed Sep 3, 2022
1 parent 79812af commit 8679c0a
Show file tree
Hide file tree
Showing 4 changed files with 125 additions and 57 deletions.
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
125 changes: 84 additions & 41 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,52 +3,95 @@ on:
push:
pull_request:
schedule:
- cron: "0 8 * * *"
- cron: "0 8 * * *"

concurrency:
group: check-${{ github.ref }}
cancel-in-progress: true

jobs:
test:
name: Test on ${{ matrix.py }} under ${{ matrix.os }}
runs-on: ${{ matrix.os }}
name: test ${{ matrix.py }}
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
os:
- Ubuntu-latest
py:
- 3.9
- 3.8
- 3.7
- 3.6
- 3.5
- 2.7
- pypy3
- pypy2
- "3.10"
- "3.9"
- "3.8"
- "3.7"
steps:
- name: Install OS dependencies
run: |
for i in 1 2 3; do
echo "try $i" && sudo apt-get update -y && sudo apt-get install graphviz -y && exit 0;
done
exit 1
shell: bash
- name: setup python for tox
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: install tox
run: python -m pip install tox
- uses: actions/checkout@v3
- name: setup python for test ${{ matrix.py }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.py }}
- name: Pick environment to run
run: |
import codecs; import os; import sys
env = "TOXENV=py3{}\n".format(sys.version_info[1])
print("Picked:\n{}for{}".format(env, sys.version))
with codecs.open(os.environ["GITHUB_ENV"], "a", "utf-8") as file_handler:
file_handler.write(env)
shell: python
- name: setup test suite
run: tox -vv --notest
- name: run test suite
run: tox --skip-pkg-install

check:
name: tox env ${{ matrix.tox_env }}
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
tox_env:
- dev
- readme
steps:
- uses: actions/checkout@v3
- name: setup Python 3.10
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: install tox
run: python -m pip install tox
- name: run check for ${{ matrix.tox_env }}
run: python -m tox -e ${{ matrix.tox_env }}
env:
UPGRADE_ADVISORY: "yes"

publish:
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
needs: [check, test]
runs-on: ubuntu-22.04
steps:
- name: Setup graphviz
uses: ts-graphviz/setup-graphviz@v1
- name: Setup python for tox
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install tox
run: python -m pip install tox
- name: Setup python for test ${{ matrix.py }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.py }}
- uses: actions/checkout@v2
- name: Pick tox environment to run
run: |
import os
import platform
import sys
major, minor, impl = sys.version_info[0], sys.version_info[1], platform.python_implementation()
toxenv = ("py" if impl == "CPython" else "pypy") + ("{}{}".format(major, minor) if impl == "CPython" else ("3" if major == 3 else ""))
env_file = open(os.environ['GITHUB_ENV'], "a")
env_file.write("TOXENV={}\n".format(toxenv))
env_file.close()
shell: python
- name: Setup test suite
run: tox -vv --notest
- name: Run test suite
run: tox --skip-pkg-install
- name: setup python to build package
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: install build
run: python -m pip install build
- uses: actions/checkout@v3
- name: build package
run: python -m build --sdist --wheel . -o dist
- name: publish to PyPI
uses: pypa/[email protected]
with:
skip_existing: true
user: __token__
password: ${{ secrets.pypi_password }}
3 changes: 3 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["setuptools>=65.1.1"]
build-backend = "setuptools.build_meta"
48 changes: 32 additions & 16 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,26 +1,42 @@
# http://tox.readthedocs.org/ - sets up and runs the test suite based on a declarative configuration
[tox]
envlist =
py39
py38
py37
py36
py35
py34
py27
pypy3
pypy2
fix
py310
py39
py38
py37
readme
isolated_build = true
skip_missing_interpreters = true
minversion = 3.14

[testenv]
description = run test suite under {basepython}
commands =
pytest {posargs:-vv}
deps =
graphviz
pip>=8.0.2
pytest
pytest-cov
virtualenv>=20,<21
mock;python_version<"3"
graphviz>=0.20.1
pip>=22.2.2
pytest>=7.1.3
pytest-cov>=3
virtualenv<21,>=20.16.4
extras =
graphviz

[testenv:readme]
description = check that the long description is valid
basepython = python3.10
skip_install = true
deps =
build[virtualenv]>=0.8
twine>=4.0.1
commands =
python -m build --sdist --wheel -o {envtmpdir} .
twine check {envtmpdir}/*

[testenv:dev]
description = generate a DEV environment
usedevelop = true
commands =
python -m pip list --format=columns
python -c 'import sys; print(sys.executable)'

0 comments on commit 8679c0a

Please sign in to comment.