Commit graph

2 commits

Author SHA1 Message Date
opencode
372ce228f4 feat(apify): .actor/ scaffold (.actor/src/main.py + Dockerfile entrypoint swap + make actor-build)
The Apify platform expects the actor entry at .actor/src/main.py. Until
now Pry used `python -m apify_actor` via Dockerfile.apify, which works
but doesn't match the documented convention used by every other actor
on the platform.

  - Add .actor/src/main.py as a thin asyncio wrapper around apify_actor.main()
  - Swap Dockerfile.apify ENTRYPOINT to the new path
  - Add `make actor-build` Makefile target that regenerates
    .actor/input_schema.json from the ApifySchemaBuilder fluent API
    (urls, max_pages, timeout, output_format, crawl)

Conflicts: none — .actor/actor.json (full version:3.0.0 schema with
input/output blocks inline) already existed from earlier work; this
commit adds the conventional entry path and a build hook that emits
the schema as a sibling file. Apify Console accepts either form.
2026-07-06 20:36:17 +07:00
345cd79bc9 feat(pry): production readiness pass — apify actor, async db, retry wiring, tests, observability, mypy
- Pin Dockerfile --workers 1

- Wire retry.py + circuit breakers into ultimate_scraper tiers

- Add Apify actor (apify_actor.py, Dockerfile.apify, .actor/actor.json)

- Add async SQLAlchemy support alongside sync db.py

- Add 31 HTTP integration tests (tests/test_api_integration.py + test_api_mcp.py)

- Add OTLP exporter support in observability.py

- Re-enable mypy var-annotated error code; fix annotations

- Improve CI workflow (pip cache, install -e .[dev], gitleaks, commitlint, 40% coverage gate)
2026-07-03 14:41:41 +02:00