Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
4af1365
Add clp-py-utils
Bill-hbrhbr Nov 4, 2025
11f4522
Add remaining clp native python projects
Bill-hbrhbr Nov 5, 2025
857744d
Merge branch 'main' into integration-tests-import-local-python-libs
Bill-hbrhbr Nov 5, 2025
d302360
Pin mariadb version for job orchestration
Bill-hbrhbr Nov 5, 2025
8418328
update uv lock
Bill-hbrhbr Nov 5, 2025
7774d07
Revert
Bill-hbrhbr Nov 5, 2025
f595d5d
Add mariadb connector as requirement for python linter
Bill-hbrhbr Nov 5, 2025
b1bbe3f
py lint fix
Bill-hbrhbr Nov 5, 2025
a14fb77
Revert "Add mariadb connector as requirement for python linter"
Bill-hbrhbr Nov 5, 2025
8c2ba26
test installing mariadb-connector-c
Bill-hbrhbr Nov 5, 2025
6f2f7e0
Test fix macos15 mariadb connector c
Bill-hbrhbr Nov 5, 2025
791ff0a
typo fix
Bill-hbrhbr Nov 5, 2025
fdcf80e
Merge branch 'main' into integration-tests-import-local-python-libs
Bill-hbrhbr Nov 5, 2025
2972779
Merge mariadb_config install into a single task
Bill-hbrhbr Nov 5, 2025
ab7b791
Update integration-tests/tests/test_clp_native_py_project_imports.py
Bill-hbrhbr Nov 5, 2025
d8d9baa
Add taskfiles to test the new imports
Bill-hbrhbr Nov 5, 2025
c9986d4
Update taskfiles/tests/integration.yaml
Bill-hbrhbr Nov 5, 2025
b563ec0
Merge branch 'main' into integration-tests-import-local-python-libs
Bill-hbrhbr Nov 6, 2025
3ff0499
Apply suggestions from code review
Bill-hbrhbr Nov 7, 2025
71dfbef
Merge branch 'main' into integration-tests-import-local-python-libs
Bill-hbrhbr Nov 7, 2025
f27df5e
remove unnecessary python -m
Bill-hbrhbr Nov 7, 2025
f4364d3
Remove unnecessary hatchling build target wheel specifications
Bill-hbrhbr Nov 7, 2025
5729abc
Add typing for integration tests too
Bill-hbrhbr Nov 7, 2025
f7823e5
Use consistent python -m pytest
Bill-hbrhbr Nov 7, 2025
1309d3b
Merge branch 'main' into integration-tests-import-local-python-libs
Bill-hbrhbr Nov 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .github/workflows/clp-lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,30 @@ jobs:
name: "Install coreutils (for md5sum)"
run: "brew install coreutils"

# This is a necessary dependency for the Python mariadb package which is a transitive
# dependency of `lint:py-check`.
- name: "Install MariaDB Connector/C"
shell: "bash"
run: |-
case "${{ matrix.os }}" in
ubuntu-24.04)
sudo apt-get update
sudo apt-get install -y libmariadb-dev
MARIADB_CONFIG_PATH="$(command -v mariadb_config)"
;;
macos-15)
brew update
brew install mariadb-connector-c
PREFIX="$(brew --prefix mariadb-connector-c)"
MARIADB_CONFIG_PATH="$PREFIX/bin/mariadb_config"
;;
*)
# Control flow should not reach here
exit 1
;;
esac
echo "MARIADB_CONFIG=$MARIADB_CONFIG_PATH" >> "$GITHUB_ENV"

- name: "Lint .js files"
shell: "bash"
run: "task lint:check-js"
Expand Down
Empty file.
Empty file.
Empty file.
Empty file.
15 changes: 15 additions & 0 deletions integration-tests/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@ requires = ["hatchling"]
build-backend = "hatchling.build"

[dependency-groups]
clp = [
"clp-mcp-server",
"clp-package-utils",
"clp-py-utils",
"job-orchestration",
]
dev = [
"mypy>=1.16.0",
"ruff>=0.11.12",
Expand Down Expand Up @@ -69,3 +75,12 @@ isort.order-by-type = false
[tool.ruff.format]
docstring-code-format = true
docstring-code-line-length = 100

[tool.uv]
default-groups = ["clp", "dev"]

[tool.uv.sources]
clp-mcp-server = { path = "../components/clp-mcp-server" }
clp-package-utils = { path = "../components/clp-package-utils" }
clp-py-utils = { path = "../components/clp-py-utils" }
job-orchestration = { path = "../components/job-orchestration" }
Empty file.
22 changes: 22 additions & 0 deletions integration-tests/tests/test_clp_native_py_project_imports.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
"""Smoke tests to validate that CLP Python projects can be imported without errors."""

from clp_mcp_server.constants import QueryJobType
from clp_package_utils.general import JobType
from clp_py_utils.clp_config import StorageEngine
from job_orchestration.scheduler.constants import CompressionJobStatus


def test_clp_native_py_project_enum_classes() -> None:
"""
Verifies that the following CLP Python projects can be imported successfully by testing
conversions between their representative enum classes and literal values:

- clp-mcp-server
- clp-package-utils
- clp-py-utils
- job-orchestration
"""
assert QueryJobType.SEARCH_OR_AGGREGATION == QueryJobType(0)
assert JobType.COMPRESSION == JobType("compression")
assert StorageEngine.CLP == StorageEngine("clp")
assert CompressionJobStatus.PENDING == CompressionJobStatus(0)
2,570 changes: 2,469 additions & 101 deletions integration-tests/uv.lock

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions taskfiles/tests/integration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ vars:
tasks:
default:
deps:
- task: "clp-py-project-imports"
- task: "core"

cache-clear:
Expand All @@ -24,3 +25,7 @@ tasks:
CLP_CORE_BINS_DIR: "{{.G_CORE_COMPONENT_BUILD_DIR}}"
CLP_PACKAGE_DIR: "{{.G_PACKAGE_BUILD_DIR}}"
cmd: "uv run python -m pytest -m core"

clp-py-project-imports:
dir: "{{.G_INTEGRATION_TESTS_DIR}}"
cmd: "uv run python -m pytest tests/test_clp_native_py_project_imports.py"
Loading