Skip to content

v1.5.0 — Daily Quickstart Scraper + Docker E2E

Choose a tag to compare

@samestrin samestrin released this 01 May 21:02
· 65 commits to main since this release

[1.5.0] - 2026-04-30

Added

  • Daily Quickstart Scraper (scripts/update_quickstart.py): Python scraper that fetches synthetic's /openai/v1/models and the Alibaba Cloud Coding Plan docs page, classifies each model, and writes refreshed quickstart-{synthetic,alibaba}.json files. Suppresses quantization variants, applies a chat-only filter, and uses an AI-disambiguation fallback (synthetic GLM-4.7-Flash → GLM-4.7) for low-confidence classifications.
  • Anthropic Protocol Probe: For each synthetic model, the scraper sends a 1-token probe to the anthropic endpoint to determine availability rather than assuming it.
  • GitHub Actions Workflow (.github/workflows/update-quickstart.yml): Daily cron at 06:00 UTC (plus workflow_dispatch) runs the scraper and opens a PR via peter-evans/create-pull-request if anything changed. Validation gate refuses to write malformed payloads, preserving last-known-good on partial failure.
  • API Key Gate: Scraper refuses to run without LLM_SYNTHETIC_API_KEY (without it the anthropic probe silently degrades to openai-only). Override available via LLM_ENV_SCRAPER_ALLOW_NO_KEY=1 for tests.
  • Docker End-to-End Test (tests/system/test_docker_e2e.bats + docker_e2e_runner.sh): Spins up a fresh ubuntu:22.04 container, runs install.sh --offline, exercises quickstart/list/set, and verifies provider/group counts computed dynamically from the source JSONs. Optional live-API sub-test gated on LLM_ENV_RUN_DOCKER_LIVE_TESTS=1.