diff --git a/.github/workflows/ci_vfxnaming.yml b/.github/workflows/ci_vfxnaming.yml index 3293308..616b97a 100644 --- a/.github/workflows/ci_vfxnaming.yml +++ b/.github/workflows/ci_vfxnaming.yml @@ -5,13 +5,13 @@ on: [pull_request] jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 environment: name: coverage strategy: fail-fast: false matrix: - python-version: ["3.10"] + python-version: ["3.7","3.10"] steps: - uses: actions/checkout@v4 @@ -19,17 +19,21 @@ jobs: uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - cache: 'pipenv' - name: Install dependencies run: | python -m pip install --upgrade pip - python -m pip install pipenv tox - pipenv sync --dev + python -m pip install tox - name: Lint with Ruff + if: matrix.python-version == '3.11' run: | - pipenv run ruff check --output-format=github . + tox -e ruffci continue-on-error: true - - name: Run tests with tox + - name: Run tests with Python 3.7 + if: matrix.python-version == '3.7' + run: | + tox -e py37ci + - name: Run tests with Python 3.10 + if: matrix.python-version == '3.10' run: | tox -e py310ci - name: Coveralls diff --git a/Pipfile b/Pipfile index ea6258a..a03aa5b 100644 --- a/Pipfile +++ b/Pipfile @@ -15,6 +15,8 @@ twine = "*" build = "*" wheel = "*" rstcheck = "*" + +[packages] vfxnaming = {editable=true, path="."} [requires] diff --git a/Pipfile.lock b/Pipfile.lock index 5288145..81c8445 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "ceffa7297cb2f08766f07980c534518d805ddf86ff03394db3a45f95f5c32653" + "sha256": "fe3d2685efeb743c5e9aaa225805dc2befa25248b10953ba3e8f188a3402f077" }, "pipfile-spec": 6, "requires": { @@ -282,6 +282,14 @@ "markers": "python_version >= '3.7'", "version": "==1.2.2" }, + "id": { + "hashes": [ + "sha256:292cb8a49eacbbdbce97244f47a97b4c62540169c976552e497fd57df0734c1d", + "sha256:f1434e1cef91f2cbb8a4ec64663d5a23b9ed43ef44c4c957d02583d61714c658" + ], + "markers": "python_version >= '3.8'", + "version": "==1.5.0" + }, "idna": { "hashes": [ "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", @@ -300,11 +308,11 @@ }, "importlib-metadata": { "hashes": [ - "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b", - "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7" + "sha256:02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e", + "sha256:310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580" ], - "markers": "python_version >= '3.8'", - "version": "==8.5.0" + "markers": "python_version >= '3.9'", + "version": "==8.6.1" }, "iniconfig": { "hashes": [ @@ -501,11 +509,11 @@ }, "pydantic": { "hashes": [ - "sha256:278b38dbbaec562011d659ee05f63346951b3a248a6f3642e1bc68894ea2b4ff", - "sha256:4dd4e322dbe55472cb7ca7e73f4b63574eecccf2835ffa2af9021ce113c83c53" + "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584", + "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236" ], "markers": "python_version >= '3.8'", - "version": "==2.10.5" + "version": "==2.10.6" }, "pydantic-core": { "hashes": [ @@ -722,28 +730,28 @@ }, "ruff": { "hashes": [ - "sha256:1a605fdcf6e8b2d39f9436d343d1f0ff70c365a1e681546de0104bef81ce88df", - "sha256:3292c5a22ea9a5f9a185e2d131dc7f98f8534a32fb6d2ee7b9944569239c648d", - "sha256:492a5e44ad9b22a0ea98cf72e40305cbdaf27fac0d927f8bc9e1df316dcc96eb", - "sha256:71cbe22e178c5da20e1514e1e01029c73dc09288a8028a5d3446e6bba87a5145", - "sha256:80605a039ba1454d002b32139e4970becf84b5fee3a3c3bf1c2af6f61a784347", - "sha256:82b35259b0cbf8daa22a498018e300b9bb0174c2bbb7bcba593935158a78054d", - "sha256:8b6a9701d1e371bf41dca22015c3f89769da7576884d2add7317ec1ec8cb9c3c", - "sha256:8efd9da7a1ee314b910da155ca7e8953094a7c10d0c0a39bfde3fcfd2a015684", - "sha256:9cc53e68b3c5ae41e8faf83a3b89f4a5d7b2cb666dff4b366bb86ed2a85b481f", - "sha256:a1b63fa24149918f8b37cef2ee6fff81f24f0d74b6f0bdc37bc3e1f2143e41c6", - "sha256:af1e9e9fe7b1f767264d26b1075ac4ad831c7db976911fa362d09b2d0356426a", - "sha256:b338edc4610142355ccf6b87bd356729b62bf1bc152a2fad5b0c7dc04af77bfe", - "sha256:b5eceb334d55fae5f316f783437392642ae18e16dcf4f1858d55d3c2a0f8f5d0", - "sha256:b9aab82bb20afd5f596527045c01e6ae25a718ff1784cb92947bff1f83068b00", - "sha256:c547f7f256aa366834829a08375c297fa63386cbe5f1459efaf174086b564247", - "sha256:c5e1d6abc798419cf46eed03f54f2e0c3adb1ad4b801119dedf23fcaf69b55b5", - "sha256:d18bba3d3353ed916e882521bc3e0af403949dbada344c20c16ea78f47af965e", - "sha256:fbd337bac1cfa96be615f6efcd4bc4d077edbc127ef30e2b8ba2a27e18c054d4" + "sha256:006e5de2621304c8810bcd2ee101587712fa93b4f955ed0985907a36c427e0c2", + "sha256:040ceb7f20791dfa0e78b4230ee9dce23da3b64dd5848e40e3bf3ab76468dcf4", + "sha256:2dc153c25e715be41bb228bc651c1e9b1a88d5c6e5ed0194fa0dfea02b026439", + "sha256:33866c3cc2a575cbd546f2cd02bdd466fed65118e4365ee538a3deffd6fcb730", + "sha256:5a5a46e09355695fbdbb30ed9889d6cf1c61b77b700a9fafc21b41f097bfbba4", + "sha256:646909a1e25e0dc28fbc529eab8eb7bb583079628e8cbe738192853dbbe43af5", + "sha256:7f39b879064c7d9670197d91124a75d118d00b0990586549949aae80cdc16624", + "sha256:800d773f6d4d33b0a3c60e2c6ae8f4c202ea2de056365acfa519aa48acf28e0b", + "sha256:8293f89985a090ebc3ed1064df31f3b4b56320cdfcec8b60d3295bddb955c22a", + "sha256:90230a6b8055ad47d3325e9ee8f8a9ae7e273078a66401ac66df68943ced029b", + "sha256:96a87ec31dc1044d8c2da2ebbed1c456d9b561e7d087734336518181b26b3aa5", + "sha256:9bb7554aca6f842645022fe2d301c264e6925baa708b392867b7a62645304df4", + "sha256:a187171e7c09efa4b4cc30ee5d0d55a8d6c5311b3e1b74ac5cb96cc89bafc43c", + "sha256:ba6eea4459dbd6b1be4e6bfc766079fb9b8dd2e5a35aff6baee4d9b1514ea519", + "sha256:c4bb09d2bbb394e3730d0918c00276e79b2de70ec2a5231cd4ebb51a57df9ba1", + "sha256:c59ab92f8e92d6725b7ded9d4a31be3ef42688a115c6d3da9457a5bda140e2b4", + "sha256:cabc332b7075a914ecea912cd1f3d4370489c8018f2c945a30bcc934e3bc06a6", + "sha256:eabe5eb2c19a42f4808c03b82bd313fc84d4e395133fb3fc1b1516170a31213c" ], "index": "pypi", "markers": "python_version >= '3.7'", - "version": "==0.9.2" + "version": "==0.9.3" }, "shellingham": { "hashes": [ @@ -874,12 +882,12 @@ }, "twine": { "hashes": [ - "sha256:36158b09df5406e1c9c1fb8edb24fc2be387709443e7376689b938531582ee27", - "sha256:9c6025b203b51521d53e200f4a08b116dee7500a38591668c6a6033117bdc218" + "sha256:a47f973caf122930bf0fbbf17f80b83bc1602c9ce393c7845f289a3001dc5384", + "sha256:be324f6272eff91d07ee93f251edf232fc647935dd585ac003539b42404a8dbd" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==6.0.1" + "version": "==6.1.0" }, "typer": { "hashes": [ diff --git a/pyproject.toml b/pyproject.toml index f78fb41..3f78591 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,17 +4,17 @@ build-backend = "setuptools.build_meta" [project] name = "vfxnaming" -version = "1.5.8-beta" +version = "1.5.9-beta" authors = [ { name="Chris Granados", email="info@chrisgranados.com" }, ] description = "VFX Naming Conventions Framework" readme = "README.rst" -requires-python = ">=3.10" +requires-python = ">=3.7" classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", - "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.7", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", ] diff --git a/tox.ini b/tox.ini index 61a7f07..ace1677 100644 --- a/tox.ini +++ b/tox.ini @@ -1,10 +1,12 @@ [tox] -envlist = py310, py310ci, docs +envlist = py37, py37ci, py310, py310ci, docs package = vfxnaming [testenv] basepython = py310: python3.10 py310ci: python3.10 + py37: python3.7 + py37ci: python3.7 docs: python3.10 usedevelop = True @@ -15,6 +17,21 @@ commands = sphinx-build -c "{tox_root}{/}docs{/}source" -d "{tox_root}{/}docs{/}build{/}doctrees" "docs{/}source" "{tox_root}{/}docs{/}build{/}html" --color -b html python -c 'docs_url=r"{tox_root}{/}docs{/}build{/}html{/}index.html".replace("\\", "/").replace("//", "/"); print(f"Docs available here file:///{docs_url}")' +[testenv:py37] +deps = pytest + pytest-cov + pytest-datafiles +commands= + pip list + pytest -c tox.ini --cov-report term-missing --cov-report html:cov_py37_html --cov=vfxnaming tests/ + +[testenv:py37ci] +deps = pytest + pytest-cov + pytest-datafiles + coveralls +commands= pytest -c tox.ini --cov-report lcov --cov=vfxnaming tests/ + [testenv:py310] deps = pytest pytest-cov