Skip to content

Commit e3e9104

Browse files
committed
feat(*): improve cli, add hooks, add pipeline, improve docs
1 parent 293cfa2 commit e3e9104

3 files changed

Lines changed: 17 additions & 20 deletions

File tree

.github/workflows/cd.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444

4545
- name: Install dependencies
4646
shell: bash
47-
run: uv add --dev uvtask && uvx uvtask dev-install
47+
run: uvx uvtask dev-install
4848

4949
- name: Set version
5050
shell: bash

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343

4444
- name: Install dependencies
4545
shell: bash
46-
run: uv add --dev uvtask && uvx uvtask dev-install
46+
run: uvx uvtask dev-install
4747

4848
- name: security-analysis-licenses
4949
shell: bash

pyproject.toml

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -125,31 +125,28 @@ exclude = [
125125
]
126126

127127
[tool.run-script]
128-
install = { command = "uv sync --frozen --no-dev", description = "Install dependencies as specified in lockfile, excluding dev dependencies" }
129-
upgrade-install = { command = "uv sync --frozen --no-dev --upgrade --refresh", description = "Upgrade and refresh installation of non-dev dependencies" }
130-
dev-install = { command = "uv sync --dev --all-extras", description = "Install all dependencies including dev and extras" }
131-
upgrade-dev-install = { command = "uv sync --dev --all-extras --upgrade --refresh", description = "Upgrade and refresh installation of all dependencies including dev and extras" }
132-
code-formatter = { command = "ruff format uvtask tests", description = "Format code with ruff" }
133-
"security-analysis" = { command = ["security-analysis:licenses", "security-analysis:vulnerabilities"], description = "Run all security analysis checks" }
134-
"security-analysis:licenses" = { command = "pip-licenses", description = "Check third-party dependencies licenses using pip-licenses" }
135-
"security-analysis:vulnerabilities" = { command = "bandit -r -c pyproject.toml uvtask tests", description = "Scan code for security vulnerabilities using bandit" }
136-
"static-analysis" = { command = ["static-analysis:linter", "static-analysis:types"], description = "Run all static analysis checks" }
137-
"static-analysis:linter" = { command = "ruff check uvtask tests", description = "Run linter checks using ruff" }
138-
"static-analysis:types" = { command = "ty check uvtask tests", description = "Run type checks using ty" }
139-
test = { command = ["unit-tests", "integration-tests", "functional-tests"], description = "Run all tests with pytest" }
140-
unit-tests = { command = "pytest tests/unit", description = "Run unit tests with pytest" }
141-
integration-tests = { command = "pytest tests/integration", description = "Run integration tests with pytest" }
142-
functional-tests = { command = "pytest -n1 tests/functional", description = "Run functional tests with pytest" }
143-
coverage = { command = "pytest -n1 --cov --cov-report=html", description = "Run tests with coverage report in HTML using pytest" }
144-
clean = { command = """python3 -c "
128+
install = "uv sync --frozen --no-dev"
129+
upgrade-install = "uv sync --frozen --no-dev --upgrade --refresh"
130+
dev-install = "uv sync --dev --all-extras"
131+
upgrade-dev-install = "uv sync --dev --all-extras --upgrade --refresh"
132+
code-formatter = "ruff format uvtask tests"
133+
"security-analysis:licenses" = "pip-licenses"
134+
"security-analysis:vulnerabilities" = "bandit -r -c pyproject.toml uvtask tests"
135+
"static-analysis:linter" = "ruff check uvtask tests"
136+
"static-analysis:types" = "ty check uvtask tests"
137+
unit-tests = "pytest tests/unit"
138+
integration-tests = "pytest tests/integration"
139+
functional-tests = "pytest -n1 tests/functional"
140+
coverage = "pytest -n1 --cov --cov-report=html"
141+
clean = """python3 -c "
145142
from glob import iglob
146143
from shutil import rmtree
147144
148145
for pathname in ['./build', './*.egg-info', './dist', './var', '**/__pycache__']:
149146
for path in iglob(pathname, recursive=True):
150147
rmtree(path, ignore_errors=True)
151148
"
152-
""", description = "Clean build artifacts" }
149+
"""
153150

154151
[project.scripts]
155152
uvtask = "uvtask.cli:main"

0 commit comments

Comments
 (0)