Skip to content

feat: add AIEP Mirror .well-known/ artifacts for AI crawler discovery #5

feat: add AIEP Mirror .well-known/ artifacts for AI crawler discovery

feat: add AIEP Mirror .well-known/ artifacts for AI crawler discovery #5

Workflow file for this run

name: aiep-mirror CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install package
run: pip install -e .
- name: Canon self-test
run: python -m aiep_mirror --self-test
- name: Run tests
run: PYTHONPATH=src python3 -m unittest discover -s tests -v
- name: Verify no third-party runtime deps
run: |
python3 - << 'EOF'
import importlib, sys
# All stdlib — no third-party required at runtime
mods = ["aiep_mirror.canon", "aiep_mirror.html_extract", "aiep_mirror.build"]
for m in mods:
importlib.import_module(m)
print("All modules import cleanly with stdlib only")
EOF
- name: Smoke test build on example site
run: |
mkdir -p /tmp/site /tmp/out
cat > /tmp/site/index.html << 'HTML'
<!DOCTYPE html><html lang="en">
<head><title>Smoke Test</title></head>
<body><main><h1>Smoke</h1><p>Test page.</p></main></body>
</html>
HTML
python -m aiep_mirror build \
--in-dir /tmp/site \
--site-base https://smoke.test \
--out-dir /tmp/out \
--public
test -f /tmp/out/.well-known/aiep-manifest.json
test -f /tmp/out/.well-known/aiep-index.json
echo "Smoke test PASS"