Skip to content

Run the canary's paid job weekly; free jobs stay daily - #3

Merged
jehrr merged 1 commit into
mainfrom
ci/weekly-paid-canary-2026-10-16
Oct 16, 2026
Merged

jehrr merged 1 commit into
mainfrom
ci/weekly-paid-canary-2026-10-16

Conversation

@jehrr

@jehrr jehrr commented Oct 16, 2026

Copy link
Copy Markdown
Collaborator

Problem: the canary runs daily, and its canary-live job uses the SHEIN_CDP_ENDPOINT Scraping Browser endpoint (and TWOCAPTCHA_KEY; it fails with an ::error:: without the endpoint), so it billed on every scheduled run. The canary-datacentre job need no secret and cost nothing.

Change: a second schedule, 41 6 * * 1 (Mondays, at the daily run's hour and minute), is added. The paid job gets if: github.event_name != 'schedule' || github.event.schedule == '41 6 * * 1', so it runs on the weekly schedule and on any manual dispatch, and is skipped on the daily one. The free jobs are not gated and keep running daily. The workflow comments now say canary-live runs weekly.

Suite assertion rewritten: smoke_test.py asserted "event_name" not in live ("canary-live must run on the schedule too"), which the gate necessarily breaks. It now asserts the weekly cron exists and that canary-live's gate names it, and still that the job is never dispatch-only. Control: deleting the gate line turns the suite red on that check (107/108, "canary-live must run on the weekly schedule"); restored, 108/108 in a core-only venv.

Not changed: what each canary job runs and asserts, its thresholds, and its behaviour when a secret is missing (a paid job without its secret still fails with an ::error:: naming it, now on its weekly run). workflow_dispatch still runs every job.

Evidence: the edited workflow parses as YAML and its on.schedule / job if: values were printed from the parsed file (listed above). The offline suite runs in this PR's tests workflow on the head commit. No paid call was made to check this change.

🤖 Generated with Claude Code

https://claude.ai/code/session_01CKsd7q25N19WzUZjrAdzx8

Paid canary paths (proxy, Scraping Browser, captcha) run weekly on Mondays;
free paths keep their daily schedule. A manual dispatch runs everything.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01CKsd7q25N19WzUZjrAdzx8
@jehrr
jehrr merged commit c62a57f into main Oct 16, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant