add: coverage to toml; workflow timeout
This commit is contained in:
parent
702d0e5703
commit
20e7a7fed8
2 changed files with 118 additions and 86 deletions
22
.github/workflows/github_action_test_suite.yml
vendored
22
.github/workflows/github_action_test_suite.yml
vendored
|
|
@ -26,6 +26,12 @@ jobs:
|
||||||
TESTING_DB: "sqlite3"
|
TESTING_DB: "sqlite3"
|
||||||
coverage-test: true
|
coverage-test: true
|
||||||
|
|
||||||
|
timeout-minutes: 35
|
||||||
|
|
||||||
|
env:
|
||||||
|
UNIT_TEST_SETTINGS: "--settings=settings --keepdb --parallel 4 --timing"
|
||||||
|
COVERAGE_TEST_SETTINGS: "--settings=settings --timing"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
|
@ -67,12 +73,7 @@ jobs:
|
||||||
if: ${{ ! matrix.coverage-test }}
|
if: ${{ ! matrix.coverage-test }}
|
||||||
working-directory: testing_mygame
|
working-directory: testing_mygame
|
||||||
run: |
|
run: |
|
||||||
evennia test \
|
evennia test ${{ env.UNIT_TEST_SETTINGS }} evennia
|
||||||
--settings=settings \
|
|
||||||
--keepdb \
|
|
||||||
--parallel 4 \
|
|
||||||
--timing \
|
|
||||||
evennia
|
|
||||||
|
|
||||||
# OBS - it's important to not run the coverage tests with --parallel, it messes up the coverage
|
# OBS - it's important to not run the coverage tests with --parallel, it messes up the coverage
|
||||||
# calculation!
|
# calculation!
|
||||||
|
|
@ -80,13 +81,8 @@ jobs:
|
||||||
if: ${{ matrix.coverage-test }}
|
if: ${{ matrix.coverage-test }}
|
||||||
working-directory: testing_mygame
|
working-directory: testing_mygame
|
||||||
run: |
|
run: |
|
||||||
coverage run \
|
coverage run --rcfile=../pyproject.toml ../bin/unix/evennia test ${{ env.COVERAGE_TEST_SETTINGS }} evennia
|
||||||
--source=evennia \
|
coverage combine
|
||||||
--omit=*/migrations/*,*/urls.py,*/test*.py,*.sh,*.txt,*.md,*.pyc,*.service \
|
|
||||||
../bin/unix/evennia test \
|
|
||||||
--settings=settings \
|
|
||||||
--timing \
|
|
||||||
evennia
|
|
||||||
coverage xml
|
coverage xml
|
||||||
coverage --version
|
coverage --version
|
||||||
coverage report | grep TOTAL
|
coverage report | grep TOTAL
|
||||||
|
|
|
||||||
182
pyproject.toml
182
pyproject.toml
|
|
@ -5,97 +5,116 @@ build-backend = "setuptools.build_meta"
|
||||||
[project]
|
[project]
|
||||||
name = "evennia"
|
name = "evennia"
|
||||||
version = "1.0"
|
version = "1.0"
|
||||||
maintainers = [
|
maintainers = [{ name = "Griatch", email = "griatch@gmail.com" }]
|
||||||
{ name="Griatch", email="griatch@gmail.com" },
|
|
||||||
]
|
|
||||||
description = "A full-featured toolkit and server for text-based multiplayer games (MUDs, MU*, etc)."
|
description = "A full-featured toolkit and server for text-based multiplayer games (MUDs, MU*, etc)."
|
||||||
requires-python = ">=3.10"
|
requires-python = ">=3.10"
|
||||||
readme = { file="README.md", content-type="text/markdown" }
|
readme = { file = "README.md", content-type = "text/markdown" }
|
||||||
license = { text="BSD" }
|
license = { text = "BSD" }
|
||||||
keywords = [
|
keywords = [
|
||||||
"MUD", "MUSH", "MUX", "MMO", "text-only", "multiplayer", "online", "rpg", "game", "engine",
|
"MUD",
|
||||||
"framework", "text", "adventure", "telnet", "websocket", "blind", "accessible", "ascii",
|
"MUSH",
|
||||||
"utf-8", "terminal", "online", "server", "beginner", "tutorials"
|
"MUX",
|
||||||
|
"MMO",
|
||||||
|
"text-only",
|
||||||
|
"multiplayer",
|
||||||
|
"online",
|
||||||
|
"rpg",
|
||||||
|
"game",
|
||||||
|
"engine",
|
||||||
|
"framework",
|
||||||
|
"text",
|
||||||
|
"adventure",
|
||||||
|
"telnet",
|
||||||
|
"websocket",
|
||||||
|
"blind",
|
||||||
|
"accessible",
|
||||||
|
"ascii",
|
||||||
|
"utf-8",
|
||||||
|
"terminal",
|
||||||
|
"online",
|
||||||
|
"server",
|
||||||
|
"beginner",
|
||||||
|
"tutorials",
|
||||||
]
|
]
|
||||||
classifiers = [
|
classifiers = [
|
||||||
"Programming Language :: Python :: 3 :: Only",
|
"Programming Language :: Python :: 3 :: Only",
|
||||||
"Programming Language :: Python :: 3.10",
|
"Programming Language :: Python :: 3.10",
|
||||||
"Programming Language :: Python :: 3.11",
|
"Programming Language :: Python :: 3.11",
|
||||||
"Programming Language :: JavaScript",
|
"Programming Language :: JavaScript",
|
||||||
"Development Status :: 5 - Production/Stable",
|
"Development Status :: 5 - Production/Stable",
|
||||||
"License :: OSI Approved :: BSD License",
|
"License :: OSI Approved :: BSD License",
|
||||||
"Environment :: Console",
|
"Environment :: Console",
|
||||||
"Environment :: Web Environment",
|
"Environment :: Web Environment",
|
||||||
"Framework :: Django",
|
"Framework :: Django",
|
||||||
"Framework :: Twisted",
|
"Framework :: Twisted",
|
||||||
"Intended Audience :: Developers",
|
"Intended Audience :: Developers",
|
||||||
"Intended Audience :: Education",
|
"Intended Audience :: Education",
|
||||||
"Operating System :: MacOS",
|
"Operating System :: MacOS",
|
||||||
"Operating System :: Microsoft :: Windows",
|
"Operating System :: Microsoft :: Windows",
|
||||||
"Operating System :: POSIX :: Linux",
|
"Operating System :: POSIX :: Linux",
|
||||||
"Topic :: Database",
|
"Topic :: Database",
|
||||||
"Topic :: Education",
|
"Topic :: Education",
|
||||||
"Topic :: Games/Entertainment :: Multi-User Dungeons (MUD)",
|
"Topic :: Games/Entertainment :: Multi-User Dungeons (MUD)",
|
||||||
"Topic :: Games/Entertainment :: Puzzle Games",
|
"Topic :: Games/Entertainment :: Puzzle Games",
|
||||||
"Topic :: Games/Entertainment :: Role-Playing",
|
"Topic :: Games/Entertainment :: Role-Playing",
|
||||||
"Topic :: Games/Entertainment :: Simulation",
|
"Topic :: Games/Entertainment :: Simulation",
|
||||||
"Topic :: Software Development :: Libraries :: Application Frameworks",
|
"Topic :: Software Development :: Libraries :: Application Frameworks",
|
||||||
"Topic :: Internet :: WWW/HTTP :: WSGI :: Server"
|
"Topic :: Internet :: WWW/HTTP :: WSGI :: Server",
|
||||||
]
|
]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
# core dependencies
|
# core dependencies
|
||||||
"django >= 4.1.3, < 4.2",
|
"django >= 4.1.3, < 4.2",
|
||||||
"twisted >= 22.10, < 23",
|
"twisted >= 22.10, < 23",
|
||||||
"pytz >= 2022.6",
|
"pytz >= 2022.6",
|
||||||
"djangorestframework >= 3.14, < 3.15",
|
"djangorestframework >= 3.14, < 3.15",
|
||||||
"pyyaml >= 6.0",
|
"pyyaml >= 6.0",
|
||||||
"django-filter == 2.4",
|
"django-filter == 2.4",
|
||||||
"django-sekizai == 2.0.0",
|
"django-sekizai == 2.0.0",
|
||||||
"inflect >= 5.2.0",
|
"inflect >= 5.2.0",
|
||||||
"autobahn >= 20.7.1, < 21.0.0",
|
"autobahn >= 20.7.1, < 21.0.0",
|
||||||
"lunr == 0.6.0",
|
"lunr == 0.6.0",
|
||||||
"simpleeval <= 1.0",
|
"simpleeval <= 1.0",
|
||||||
"uritemplate == 4.1.1",
|
"uritemplate == 4.1.1",
|
||||||
"Jinja2 < 3.1",
|
"Jinja2 < 3.1",
|
||||||
"tzdata >= 2022.6",
|
"tzdata >= 2022.6",
|
||||||
# for unit tests and code formatting
|
# for unit tests and code formatting
|
||||||
"mock >= 4.0.3",
|
"mock >= 4.0.3",
|
||||||
"model_mommy >= 2.0",
|
"model_mommy >= 2.0",
|
||||||
"anything ==0.2.1",
|
"anything ==0.2.1",
|
||||||
"black >= 22.6",
|
"black >= 22.6",
|
||||||
"isort >= 5.10",
|
"isort >= 5.10",
|
||||||
"parameterized ==0.8.1",
|
"parameterized ==0.8.1",
|
||||||
]
|
]
|
||||||
|
|
||||||
[project.optional-dependencies]
|
[project.optional-dependencies]
|
||||||
|
|
||||||
extra = [
|
extra = [
|
||||||
# contrib optional dependencies
|
# contrib optional dependencies
|
||||||
# install with 'pip install evennia[extra]`
|
# install with 'pip install evennia[extra]`
|
||||||
|
|
||||||
# crypto libraries for ssh support
|
# crypto libraries for ssh support
|
||||||
"cryptography >= 2.8",
|
"cryptography >= 2.8",
|
||||||
"pyasn1 >= 0.4.8",
|
"pyasn1 >= 0.4.8",
|
||||||
"bcrypt >= 3.1.7",
|
"bcrypt >= 3.1.7",
|
||||||
|
|
||||||
# Telnet-SSL support
|
# Telnet-SSL support
|
||||||
"pyopenssl >= 19.1",
|
"pyopenssl >= 19.1",
|
||||||
"service_identity >= 18.1.0",
|
"service_identity >= 18.1.0",
|
||||||
|
|
||||||
# AWS storage contrib
|
# AWS storage contrib
|
||||||
"boto3 >= 1.4.4",
|
"boto3 >= 1.4.4",
|
||||||
"botocore >= 1.15",
|
"botocore >= 1.15",
|
||||||
|
|
||||||
# Jupyter Notebook support
|
# Jupyter Notebook support
|
||||||
"jupyter >= 1.0.0",
|
"jupyter >= 1.0.0",
|
||||||
"ipython >= 7.19.0",
|
"ipython >= 7.19.0",
|
||||||
"django-extensions >= 3.1.0",
|
"django-extensions >= 3.1.0",
|
||||||
|
|
||||||
# xyzroom contrib
|
# xyzroom contrib
|
||||||
"scipy == 1.9.3",
|
"scipy == 1.9.3",
|
||||||
|
|
||||||
# Git contrib
|
# Git contrib
|
||||||
"gitpython >= 3.1.27"
|
"gitpython >= 3.1.27",
|
||||||
]
|
]
|
||||||
|
|
||||||
[project.urls]
|
[project.urls]
|
||||||
|
|
@ -133,3 +152,20 @@ exclude = '''
|
||||||
|
|
||||||
)
|
)
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
[tool.coverage]
|
||||||
|
|
||||||
|
[tool.coverage.run]
|
||||||
|
concurrency = ["multiprocessing"]
|
||||||
|
parallel = true
|
||||||
|
source = ["evennia"]
|
||||||
|
omit = [
|
||||||
|
"*/migrations/*",
|
||||||
|
"*/urls.py",
|
||||||
|
"*/test*.py",
|
||||||
|
"*.sh",
|
||||||
|
"*.txt",
|
||||||
|
"*.md",
|
||||||
|
"*.pyc",
|
||||||
|
"*.service",
|
||||||
|
]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue