Repository navigation
test: Lock test dependencies and fix charging test - #118
Merged
Merged
Conversation
Since apify 4.2.0 the Python SDK charges one event past an exhausted budget, as the JavaScript SDK always did, so the platform notices and aborts the run. The capped Python sample run therefore ends aborted on its final event rather than under the cap; the e2e test, the sample and the skill say so, and the sample requires that SDK. Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_017ocuAL43YR6VPaBRrRfBbL
Pijukatel
force-pushed
the
claude/fix-ppe-python-overshoot
branch
from
November 3, 2026 16:02
99b90b6 to
204da0a
Compare
Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_017ocuAL43YR6VPaBRrRfBbL
The samples exercise the runtime, not the newest SDK or Crawlee, so each installs a fixed version of both: apify 4.2.0 with crawlee 1.11.0 in Python, apify 3.7.2 with the Crawlee packages at 3.18.1 in JavaScript, the versions their lockfiles already resolved. Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_017ocuAL43YR6VPaBRrRfBbL
@crawlee/playwright 3.18.1 pins @crawlee/core 3.18.1 while apify 3.7.2 resolves its ^3.14.1 range to 3.18.2, so the Playwright sample installed two copies and tsc refused apify's ProxyConfiguration for the crawler's. Both TS samples now use @crawlee 3.18.2, the version their base image ships, and the Playwright sample gets a lockfile so the resolution stays put. Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_017ocuAL43YR6VPaBRrRfBbL
apify-factory
left a comment
There was a problem hiding this comment.
Looks good, nothing blocking.
🏭 Factory review — ℹ️ not auto-approved
This change was reviewed but cannot be auto-approved: a gate failed, so the review cannot end in an approval.
| check | result |
|---|---|
| Static gates | ❌ 11/16 — max-files, max-lines, file-extensions, deny-globs, patch-present |
| Review findings | ✅ none |
| Reviewer escalation | ✅ none |
Juror 1 — claude-sonnet-5-5, adversarial |
⏭️ skipped — a gate failed |
Why it was not auto-approved
Failed gates:
max-files: 15 changed files, limit 10max-lines: 3290 changed lines (+3218/-72), limit 200file-extensions: disallowed extension: samples/actor_crawler/requirements.txt, samples/actor_playwright/package-lock.json, samples/actor_playwright/package.json, samples/actor_playwright_py/requirements.txt, samples/actor_py/requirements.txt, samples/actor_standby_py/requirements.txt, samples/actor_standby_ts/package-lock.json, samples/actor_standby_ts/package.json, samples/actor_standby_web/package-lock.json, samples/actor_standby_web/package.json, samples/actor_ts/package-lock.json, samples/actor_ts/package.jsondeny-globs: samples/actor_playwright/package-lock.json matches **/package-lock.json; samples/actor_playwright/package.json matches **/package.json; samples/actor_standby_ts/package-lock.json matches **/package-lock.json; samples/actor_standby_ts/package.json matches **/package.json; samples/actor_standby_web/package-lock.json matches **/package-lock.json; samples/actor_standby_web/package.json matches **/package.json; samples/actor_ts/package-lock.json matches **/package-lock.json; samples/actor_ts/package.json matches /package.json; skills/actor-runtime/SKILL.md matches skills/patch-present: no text diff for samples/actor_playwright/package-lock.json
The comments above are the review itself; this section only explains the approval decision. Push a change and request @apify-factory again to re-run it, or ask a human to review.
Reviewed a75e7d6d7 · workflow run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Since apify 4.2.0 the Python SDK charges one event past an exhausted budget, like the JavaScript SDK, so the runtime aborts a capped Python run on its final event instead of letting it finish under the cap. The e2e test expects that, and the sample and the skill describe it.
The samples test the runtime, not the newest SDK or Crawlee, so each now installs fixed versions of both: apify 4.2.0 with crawlee 1.11.0 in Python, apify 3.7.2 with the Crawlee packages at 3.18.2 in JavaScript, the version its base image ships. The Playwright sample gets a lockfile like the other JavaScript samples, so the whole tree stays put, with one
@crawlee/corefor apify and the crawler alike. A release of either no longer changes what the tests run against.Fixes the
e2e pay-per-eventjobs, red on every runtime since the SDK release.