add: coverage to toml; workflow timeout

This commit is contained in:
dvoraen 2022-12-04 04:05:55 -08:00
parent 702d0e5703
commit 20e7a7fed8
2 changed files with 118 additions and 86 deletions

View file

@ -26,6 +26,12 @@ jobs:
TESTING_DB: "sqlite3"
coverage-test: true
timeout-minutes: 35
env:
UNIT_TEST_SETTINGS: "--settings=settings --keepdb --parallel 4 --timing"
COVERAGE_TEST_SETTINGS: "--settings=settings --timing"
steps:
- uses: actions/checkout@v3
@ -67,12 +73,7 @@ jobs:
if: ${{ ! matrix.coverage-test }}
working-directory: testing_mygame
run: |
evennia test \
--settings=settings \
--keepdb \
--parallel 4 \
--timing \
evennia
evennia test ${{ env.UNIT_TEST_SETTINGS }} evennia
# OBS - it's important to not run the coverage tests with --parallel, it messes up the coverage
# calculation!
@ -80,13 +81,8 @@ jobs:
if: ${{ matrix.coverage-test }}
working-directory: testing_mygame
run: |
coverage run \
--source=evennia \
--omit=*/migrations/*,*/urls.py,*/test*.py,*.sh,*.txt,*.md,*.pyc,*.service \
../bin/unix/evennia test \
--settings=settings \
--timing \
evennia
coverage run --rcfile=../pyproject.toml ../bin/unix/evennia test ${{ env.COVERAGE_TEST_SETTINGS }} evennia
coverage combine
coverage xml
coverage --version
coverage report | grep TOTAL

View file

@ -5,17 +5,36 @@ build-backend = "setuptools.build_meta"
[project]
name = "evennia"
version = "1.0"
maintainers = [
{ name="Griatch", email="griatch@gmail.com" },
]
maintainers = [{ name = "Griatch", email = "griatch@gmail.com" }]
description = "A full-featured toolkit and server for text-based multiplayer games (MUDs, MU*, etc)."
requires-python = ">=3.10"
readme = { file = "README.md", content-type = "text/markdown" }
license = { text = "BSD" }
keywords = [
"MUD", "MUSH", "MUX", "MMO", "text-only", "multiplayer", "online", "rpg", "game", "engine",
"framework", "text", "adventure", "telnet", "websocket", "blind", "accessible", "ascii",
"utf-8", "terminal", "online", "server", "beginner", "tutorials"
"MUD",
"MUSH",
"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 = [
"Programming Language :: Python :: 3 :: Only",
@ -40,7 +59,7 @@ classifiers = [
"Topic :: Games/Entertainment :: Role-Playing",
"Topic :: Games/Entertainment :: Simulation",
"Topic :: Software Development :: Libraries :: Application Frameworks",
"Topic :: Internet :: WWW/HTTP :: WSGI :: Server"
"Topic :: Internet :: WWW/HTTP :: WSGI :: Server",
]
dependencies = [
# core dependencies
@ -95,7 +114,7 @@ extra = [
"scipy == 1.9.3",
# Git contrib
"gitpython >= 3.1.27"
"gitpython >= 3.1.27",
]
[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",
]