diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index d46a166..23ef853 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -18,10 +18,22 @@ jobs: # Eventually this step should be replaced with pip install .[test] instead. # BUG: pip install .[test] does not install pytest. See pipeline number 3. - name: Install Dependencies. - run: python3 -m pip install '.' pytest twine build docker + run: |- + python3 -m venv .venv + source .venv/bin/activate + + python3 -m pip install poetry + python3 -m poetry install --with test - name: Test - run: python3 -m pytest + run: |- + source .venv/bin/activate + # which python3 + # python3 -m pip list + python3 -m pytest + - name: Verify Build. run: |- + source .venv/bin/activate + python3 -m poetry install --with ci python3 -m build python3 -m twine check dist/* diff --git a/poetry.lock b/poetry.lock index 826c722..619b7f5 100644 --- a/poetry.lock +++ b/poetry.lock @@ -45,6 +45,31 @@ files = [ docs = ["furo", "jaraco.packaging (>=9.3)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] testing = ["jaraco.test", "pytest (!=8.0.*)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)"] +[[package]] +name = "build" +version = "1.2.1" +description = "A simple, correct Python build frontend" +optional = false +python-versions = ">=3.8" +files = [ + {file = "build-1.2.1-py3-none-any.whl", hash = "sha256:75e10f767a433d9a86e50d83f418e83efc18ede923ee5ff7df93b6cb0306c5d4"}, + {file = "build-1.2.1.tar.gz", hash = "sha256:526263f4870c26f26c433545579475377b2b7588b6f1eac76a001e873ae3e19d"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "os_name == \"nt\""} +importlib-metadata = {version = ">=4.6", markers = "python_full_version < \"3.10.2\""} +packaging = ">=19.1" +pyproject_hooks = "*" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} + +[package.extras] +docs = ["furo (>=2023.08.17)", "sphinx (>=7.0,<8.0)", "sphinx-argparse-cli (>=1.5)", "sphinx-autodoc-typehints (>=1.10)", "sphinx-issues (>=3.0.0)"] +test = ["build[uv,virtualenv]", "filelock (>=3)", "pytest (>=6.2.4)", "pytest-cov (>=2.12)", "pytest-mock (>=2)", "pytest-rerunfailures (>=9.1)", "pytest-xdist (>=1.34)", "setuptools (>=42.0.0)", "setuptools (>=56.0.0)", "setuptools (>=56.0.0)", "setuptools (>=67.8.0)", "wheel (>=0.36.0)"] +typing = ["build[uv]", "importlib-metadata (>=5.1)", "mypy (>=1.9.0,<1.10.0)", "tomli", "typing-extensions (>=3.7.4.3)"] +uv = ["uv (>=0.1.18)"] +virtualenv = ["virtualenv (>=20.0.35)"] + [[package]] name = "bumpver" version = "2023.1129" @@ -1154,6 +1179,17 @@ files = [ [package.extras] windows-terminal = ["colorama (>=0.4.6)"] +[[package]] +name = "pyproject-hooks" +version = "1.1.0" +description = "Wrappers to call pyproject.toml-based build backend hooks." +optional = false +python-versions = ">=3.7" +files = [ + {file = "pyproject_hooks-1.1.0-py3-none-any.whl", hash = "sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2"}, + {file = "pyproject_hooks-1.1.0.tar.gz", hash = "sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965"}, +] + [[package]] name = "pytest" version = "8.2.2" @@ -1806,4 +1842,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "8e224e79328f494f2bcd551d2887cb0dc6ad6523bd9fd95ea22c9ff70d21f665" +content-hash = "76abd8328794d6f42e21959a3c9c3c1f98757fc15237b306b1b7a3679cb09ec2" diff --git a/pyproject.toml b/pyproject.toml index a1e984b..960321d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -72,10 +72,12 @@ pytest-mypy-plugins = "^3.1.2" types-toml = "^0.10.8.20240310" bumpver = "^2023.1129" -[tool.poetry.group.extras.dependencies] +[tool.poetry.group.ci.dependencies] twine = "^5.1.1" +build = "^1.2.1" [tool.poetry.group.test.dependencies] +click = "^8.1.7" pytest = "^8.2.2" pytest-mypy = "^0.10.3"