Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 0 additions & 3 deletions .github/workflows/dirsql-python-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -260,8 +260,5 @@ jobs:
- name: Put maturin on PATH
run: echo "$PWD/packages/python/.venv/bin" >> "$GITHUB_PATH"

- name: Build dirsql CLI binary
run: cargo build -p dirsql --features cli

- name: Run packaging distcheck (build -> pack -> install -> run)
run: uv run --project internals/distcheck dirsql-distcheck python
12 changes: 6 additions & 6 deletions internals/distcheck/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ not a behavior test of an SDK, so it lives here rather than in an SDK package's
subcommand. Run a flow locally:

```bash
# build -> pack -> install -> run the published PyPI wheel (needs a cargo dirsql
# binary + maturin on PATH)
# build -> pack -> install -> run the published PyPI wheel (needs maturin on
# PATH)
uv run --project internals/distcheck dirsql-distcheck python

# build -> pack -> install -> run the published npm artifact set (needs
Expand All @@ -26,10 +26,10 @@ tooling, so one tested home matters more than language purity of the harness.

## What the flows verify

- **`python`** -- stages the cargo-built `dirsql` binary under `dirsql/_binary/`
the way the release pipeline's bundle step would, builds the wheel with
`maturin build`, `pip install`s it into a fresh venv, and runs the installed
`dirsql --version` console script plus `import dirsql`.
- **`python`** -- builds the wheel with `maturin build`, `pip install`s it into a
fresh venv, and runs the installed `dirsql --version` console script plus
`import dirsql`. Nothing is staged: since #738 the wheel's extension module
carries the CLI and the console script calls it in-process.
- **`node`** -- packs the main `dirsql` package and a reconstructed host
`@dirsql/cli-<slug>` sub-package, `npm install`s both into a fresh dir, and
runs `node_modules/.bin/dirsql --version`, cross-checking the installed
Expand Down
16 changes: 3 additions & 13 deletions internals/distcheck/tests/integration/python_flow_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

Runs `gate.run` with its default `subprocess.run` / real `FileSystem` -- the
build -> pack -> install -> run behavior the old per-package packaging
suite exercised. Skips when the build prerequisites (the cargo `dirsql` binary,
`maturin`) are absent, since the flow's actual CI execution is the
`dirsql-distcheck python` job, which builds them first.
suite exercised. Skips when the build prerequisite (`maturin`) is absent,
since the flow's actual CI execution is the `dirsql-distcheck python` job,
which installs it first.
"""
from __future__ import annotations

Expand All @@ -20,16 +20,6 @@


def test_pip_installed_wheel_builds_installs_and_runs():
binary = next(
(
os.path.join(_REPO, "target", profile, "dirsql")
for profile in ("release", "debug")
if os.path.exists(os.path.join(_REPO, "target", profile, "dirsql"))
),
None,
)
if binary is None:
pytest.skip("dirsql CLI binary not built (cargo build -p dirsql --features cli)")
if shutil.which("maturin") is None:
pytest.skip("maturin not on PATH (uv sync in packages/python)")

Expand Down
Loading