Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 3 additions & 7 deletions .github/workflows/canary.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# One real run of each mode against news.ycombinator.com, daily. tests.yml
# One real run of each mode against news.ycombinator.com, weekly (Mondays). tests.yml
# (deliberately) never touches the site.
#
# No secrets are needed, and that is the point of running it: the README's
# central claim is "no key, no proxy, no account", and an ungated scheduled
# canary is that sentence under test every morning. Every
# canary is that sentence under test every Monday. Every
# page kind answered a datacentre address normally when this repo was written
# (2026-09-30); a GitHub runner is a datacentre address too. So this is NOT
# gated on a secret: a canary that CAN pass without a credential must not be
Expand All @@ -26,10 +26,6 @@ name: canary
on:
schedule:
# 05:40 UTC. Not on the hour: every scheduled workflow fires at :00.
- cron: "40 5 * * *"
# 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: "40 5 * * 1"
workflow_dispatch:

Expand Down Expand Up @@ -73,7 +69,7 @@ jobs:
pages: 1
floor: 1
env:
HACKERNEWS_PROXY: ${{ (github.event_name != 'schedule' || github.event.schedule == '40 5 * * 1') && secrets.HACKERNEWS_PROXY || '' }}
HACKERNEWS_PROXY: ${{ secrets.HACKERNEWS_PROXY }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
Expand Down
4 changes: 1 addition & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,7 @@ said so at the top of its release notes.

### Changed

- CI only: the canary's optional paid secret `HACKERNEWS_PROXY` now reaches it only on a new weekly
run (Mondays 05:40 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 05:40 UTC) and on a manual dispatch, with its optional secret `HACKERNEWS_PROXY` passed on every run; the daily schedule is removed.

## [0.1.0] — 2026-10-15

Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ history needs a decision, not a red check on every push.
Then the rest of the presentation, in the order that matters:

1. `python3 smoke_test.py` green, and the canary dispatched at least once.
It runs daily with no secrets at all and is expected to be green, because
It runs weekly (Mondays) with no secrets at all and is expected to be green, because
no mode needs a credential and a green badge there is exactly the claim
the README makes.
2. The repo description, homepage and topics set (see the family notes on
Expand Down Expand Up @@ -154,7 +154,7 @@ news.ycombinator.com, be gentle with it:
not for a loop. Never loop a live run. About fifty requests spaced 4 s
apart drew no throttle on 2026-09-30, from one datacentre address, which is
one measurement.
* **The canary is the scheduled live check.** It is three pages daily from a
* **The canary is the scheduled live check.** It is three pages weekly (Mondays) from a
GitHub runner and needs no secret.

Say in the PR what you ran (engine, mode, URL), and what you got, including
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ is handled as a refusal and was never seen either. The canary
(`.github/workflows/canary.yml`) ran once by hand on 2026-09-30 from a
GitHub-hosted runner with no proxy and no secret, and all four jobs passed
(front page and `/newest` 90 rows each, a 71-comment thread, a profile). That
is one run from one address; the badge is the daily evidence.
is one run from one address; the badge is the weekly evidence.

## Being polite

Expand Down
Loading