Skip to content

chore(release): 6.4.2 #169

chore(release): 6.4.2

chore(release): 6.4.2 #169

Workflow file for this run

name: CI
on: [push, pull_request]
jobs:
check:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Cache fastembed ONNX model
uses: actions/cache@v4
with:
path: ~/.cache/fastembed
key: fastembed-all-MiniLM-L6-v2-v1
- name: Install dependencies
run: pip install -e .[dev]
- name: Check syntax
run: python -m compileall src/
- name: Run tests
run: python -m pytest tests/ -v
- name: Deploy script dry-run (sync sanity)
shell: powershell
run: ./scripts/deploy.ps1 -DryRun -Dest "${{ runner.temp }}\neuron-deploy-check"
# Verify the distributable actually builds, installs clean, and imports — the
# same wheel path release.yml publishes (catches packaging regressions early).
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Build wheel + sdist
run: pip install build && python -m build
- name: Install the wheel into a clean venv and import
run: |
python -m venv /tmp/venv
/tmp/venv/bin/pip install dist/*.whl
/tmp/venv/bin/python -c "import neuron; print('neuron', neuron.__version__)"
- name: Universal lifecycle CLI smoke (neuron setup --status, T63)
run: |
/tmp/venv/bin/python -m neuron setup --status
/tmp/venv/bin/python -m neuron doctor --slug neuron5
- name: Skills are packaged inside the wheel
run: |
python - <<'EOF'
import glob, pathlib, zipfile
wheel = glob.glob("dist/*.whl")[0]
in_wheel = {n[len("neuron/skills/"):] for n in zipfile.ZipFile(wheel).namelist()
if n.startswith("neuron/skills/") and n.endswith(".md")}
on_disk = {p.relative_to("src/neuron/skills").as_posix()
for p in pathlib.Path("src/neuron/skills").rglob("*.md")}
assert on_disk, "no skills found in src/neuron/skills — packaging source missing"
assert in_wheel == on_disk, f"wheel/skills drift: only-in-wheel={sorted(in_wheel - on_disk)}, missing-from-wheel={sorted(on_disk - in_wheel)}"
print(f"skills packaged OK: {sorted(in_wheel)}")
EOF