Track bundled vendor runtime sources
This commit is contained in:
70
vendor/Agent-Reach/.github/workflows/pytest.yml
vendored
Normal file
70
vendor/Agent-Reach/.github/workflows/pytest.yml
vendored
Normal file
@@ -0,0 +1,70 @@
|
||||
name: ci
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: ["3.10", "3.11", "3.12", "3.13"]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
|
||||
- name: Install package and test deps
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -c constraints.txt -e .[dev]
|
||||
|
||||
- name: Run tests
|
||||
run: |
|
||||
pytest -q
|
||||
|
||||
# Editable installs (-e) never exercise wheel packaging, so a broken wheel
|
||||
# can pass tests and still fail every real `pip install` from source.
|
||||
# This job builds the actual wheel and installs it into a clean venv.
|
||||
wheel-gate:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.12"
|
||||
|
||||
- name: Build wheel
|
||||
run: |
|
||||
python -m pip install --upgrade pip build
|
||||
python -m build
|
||||
|
||||
- name: Verify wheel has no duplicate entries and ships data files
|
||||
run: |
|
||||
python - <<'PY'
|
||||
import glob, zipfile, collections
|
||||
whl = glob.glob("dist/*.whl")[0]
|
||||
names = zipfile.ZipFile(whl).namelist()
|
||||
dupes = [n for n, c in collections.Counter(names).items() if c > 1]
|
||||
assert not dupes, f"duplicate entries in wheel: {dupes}"
|
||||
assert "agent_reach/skill/SKILL.md" in names, "SKILL.md missing from wheel"
|
||||
for prefix in ("agent_reach/guides/", "agent_reach/scripts/", "agent_reach/skill/references/"):
|
||||
assert any(n.startswith(prefix) for n in names), f"{prefix} missing from wheel"
|
||||
print(f"wheel OK: {len(names)} entries, no duplicates, data files present")
|
||||
PY
|
||||
|
||||
- name: Smoke-install wheel into clean venv
|
||||
run: |
|
||||
python -m venv /tmp/smoke
|
||||
/tmp/smoke/bin/pip install --quiet dist/*.whl
|
||||
/tmp/smoke/bin/agent-reach version
|
||||
cd /tmp && /tmp/smoke/bin/python -c "import agent_reach; from importlib.resources import files; assert (files('agent_reach')/'skill'/'SKILL.md').is_file(); print('SKILL.md ships in site-packages OK')"
|
||||
Reference in New Issue
Block a user