diff --git a/.github/workflows/canary.yml b/.github/workflows/canary.yml index c578a45..227ee7f 100644 --- a/.github/workflows/canary.yml +++ b/.github/workflows/canary.yml @@ -42,12 +42,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: @@ -58,8 +54,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.INDIEGOGO_CDP_ENDPOINT != '' }} - HAVE_PROXY: ${{ (github.event_name != 'schedule' || github.event.schedule == '37 7 * * 1') && secrets.INDIEGOGO_PROXY != '' }} + HAVE_CDP: ${{ secrets.INDIEGOGO_CDP_ENDPOINT != '' }} + HAVE_PROXY: ${{ secrets.INDIEGOGO_PROXY != '' }} steps: - uses: actions/checkout@v4 @@ -102,8 +98,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. - INDIEGOGO_CDP_ENDPOINT: ${{ (github.event_name != 'schedule' || github.event.schedule == '37 7 * * 1') && secrets.INDIEGOGO_CDP_ENDPOINT || '' }} - INDIEGOGO_PROXY: ${{ (github.event_name != 'schedule' || github.event.schedule == '37 7 * * 1') && secrets.INDIEGOGO_PROXY || '' }} + INDIEGOGO_CDP_ENDPOINT: ${{ secrets.INDIEGOGO_CDP_ENDPOINT }} + INDIEGOGO_PROXY: ${{ secrets.INDIEGOGO_PROXY }} run: | set +e python3 playwright_scraper.py \ diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f19892..4c0eb9a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,9 +13,7 @@ the release notes rather than left to be discovered from a bill or a diff. ### Changed -- CI only: the canary's optional paid secrets `INDIEGOGO_CDP_ENDPOINT`, `INDIEGOGO_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 `INDIEGOGO_CDP_ENDPOINT`, `INDIEGOGO_PROXY` passed on every run; the daily schedule is removed. ## [0.2.0] — 2026-10-15 diff --git a/README.md b/README.md index bfc773c..869205b 100644 --- a/README.md +++ b/README.md @@ -478,7 +478,7 @@ pytest # the same checks, wrapped as one test `.github/workflows/tests.yml` runs it on Python 3.9 and 3.12, installs each engine in its own virtualenv and fails if the installed one reports skipped, and builds and runs the Docker image. `canary.yml` does a real 3-page run -daily and asserts row counts, field coverage, page/position uniqueness and +weekly (Mondays) and asserts row counts, field coverage, page/position uniqueness and the sidecar's cap arithmetic. ---