From e361cd67b1a3360fc92a7c6b783e27c02fb6c96d Mon Sep 17 00:00:00 2001 From: jehrr <79864894+jehrr@users.noreply.github.com> Date: Fri, 16 Oct 2026 11:56:54 +0000 Subject: [PATCH] Run every canary job weekly on Mondays The canary now has a single Monday cron. The daily cron is removed, and so is the gating that held the paid job or secret back to the Monday run: a scheduled run and a manual dispatch now run every job the same way, with each secret mapped plainly. A job that needs a secret still fails, naming it, when the secret is missing. Wording that said the canary (or its free half) runs daily now says weekly (Mondays). Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01CKsd7q25N19WzUZjrAdzx8 --- .github/workflows/canary.yml | 18 +++++++----------- CHANGELOG.md | 4 +--- README.md | 2 +- 3 files changed, 9 insertions(+), 15 deletions(-) diff --git a/.github/workflows/canary.yml b/.github/workflows/canary.yml index a13a92f..55e75c0 100644 --- a/.github/workflows/canary.yml +++ b/.github/workflows/canary.yml @@ -39,12 +39,8 @@ name: canary # so the same two lines are correct with and without them. on: schedule: - # Once a day, off the hour, so it is not competing with everyone else's + # Once a week (Mondays), off the hour, so it is not competing with everyone else's # on-the-hour cron jobs for runner availability. - - cron: "37 7 * * *" - # Mondays: the same jobs, WITH the paid secrets (proxy, Scraping Browser, - # captcha key). On the daily run above those secrets read as empty, so - # it takes the free no-secret route and bills nothing. - cron: "37 7 * * 1" workflow_dispatch: @@ -55,8 +51,8 @@ jobs: # `secrets` is not available in a job-level `if`, so presence is tested # here, once, and read from each step's `if` and shell below. These are # the strings "true"/"false", never the secret itself. - HAVE_CDP: ${{ (github.event_name != 'schedule' || github.event.schedule == '37 7 * * 1') && secrets.TRANSFERMARKT_CDP_ENDPOINT != '' }} - HAVE_PROXY: ${{ (github.event_name != 'schedule' || github.event.schedule == '37 7 * * 1') && secrets.TRANSFERMARKT_PROXY != '' }} + HAVE_CDP: ${{ secrets.TRANSFERMARKT_CDP_ENDPOINT != '' }} + HAVE_PROXY: ${{ secrets.TRANSFERMARKT_PROXY != '' }} steps: - uses: actions/checkout@v4 @@ -97,8 +93,8 @@ jobs: # Through the environment, never argv (see the header). Unset # secrets arrive as "" and env_config.py treats that as unset, so # these lines are correct in both configurations. - TRANSFERMARKT_CDP_ENDPOINT: ${{ (github.event_name != 'schedule' || github.event.schedule == '37 7 * * 1') && secrets.TRANSFERMARKT_CDP_ENDPOINT || '' }} - TRANSFERMARKT_PROXY: ${{ (github.event_name != 'schedule' || github.event.schedule == '37 7 * * 1') && secrets.TRANSFERMARKT_PROXY || '' }} + TRANSFERMARKT_CDP_ENDPOINT: ${{ secrets.TRANSFERMARKT_CDP_ENDPOINT }} + TRANSFERMARKT_PROXY: ${{ secrets.TRANSFERMARKT_PROXY }} run: | set +e python3 playwright_scraper.py \ @@ -116,8 +112,8 @@ jobs: # 4 pages (77 transfers) the same day. continue-on-error: true env: - TRANSFERMARKT_CDP_ENDPOINT: ${{ (github.event_name != 'schedule' || github.event.schedule == '37 7 * * 1') && secrets.TRANSFERMARKT_CDP_ENDPOINT || '' }} - TRANSFERMARKT_PROXY: ${{ (github.event_name != 'schedule' || github.event.schedule == '37 7 * * 1') && secrets.TRANSFERMARKT_PROXY || '' }} + TRANSFERMARKT_CDP_ENDPOINT: ${{ secrets.TRANSFERMARKT_CDP_ENDPOINT }} + TRANSFERMARKT_PROXY: ${{ secrets.TRANSFERMARKT_PROXY }} run: | set +e python3 playwright_scraper.py \ diff --git a/CHANGELOG.md b/CHANGELOG.md index af34743..1c8a6a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,9 +6,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ### Changed -- CI only: the canary's optional paid secrets `TRANSFERMARKT_CDP_ENDPOINT`, `TRANSFERMARKT_PROXY` now reach it only on a new weekly - run (Mondays 07:37 UTC) and on a manual dispatch. The daily run keeps its - schedule and takes the free route without them, so it bills nothing. +- CI only: the canary now runs weekly (Mondays 07:37 UTC) and on a manual dispatch, with its optional secrets `TRANSFERMARKT_CDP_ENDPOINT`, `TRANSFERMARKT_PROXY` passed on every run; the daily schedule is removed. ## [1.2.0] — 2026-10-16 diff --git a/README.md b/README.md index 1b31d80..6a167af 100644 --- a/README.md +++ b/README.md @@ -490,7 +490,7 @@ If you already have proxies from somewhere else, `--proxy-file` takes any list. **None of these was needed from a GitHub runner on the days measured.** The -daily canary runs the Playwright engine from a bare runner with no key, no +weekly canary runs the Playwright engine from a bare runner with no key, no proxy and no endpoint; from 2026-10-06 to 2026-10-15 every run read 75 rows over 3 market-values pages, the AWS WAF *challenge* action clearing by itself in about a second. That is a fact about those runners' addresses on