You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
No Netlify PR preview for this edition — reviewers have no rendered page to check #82
This is the only edition in the lecture-python-programming series without a Netlify PR preview. The English source, .fa and .fr all deploy one per pull request; this repository's ci.yml has no Netlify step, and gh api repos/.../actions/secrets returns no NETLIFY_SITE_ID here, where .fa and .fr both have one.
Why it matters here specifically
Translation review depends on reading rendered pages. A reviewer working through a sync PR in .fa or .fr can open the preview and see the lecture as a reader will; here they can only read the diff.
It has already cost us twice in the last day:
Enable the language switcher and fix URLs copied from the English config #80 — the language switcher plus five URL fixes — merged on weaker evidence than its .fa and .fr counterparts. Both of those were verified against a real deploy preview; this one could only be checked with a local build and a passing CI run.
Bump quantecon-book-theme from 0.20.0 to 0.21.0 #81 — the bump to theme 0.21.0 — carries a documented layout change at 1024–1499px viewports, exactly the kind of change that wants a rendered page. There is nothing to look at.
What is needed
Two halves, and the first is the blocker:
A Netlify site for this repository, and its NETLIFY_SITE_ID as a repo secret.NETLIFY_SITE_ID is per-site and set at repo level — .fa and .fr each carry their own — so it cannot be inherited from the org. This step needs someone with Netlify and repo-admin access.
The workflow step in ci.yml. Small, and copyable from a sibling.
One decision to make first
The series currently uses two different mechanisms, so this should follow whichever is intended as the standard rather than adding a third data point:
Repo
Mechanism
lecture-python-programming (source)
nwtgck/actions-netlify@v4
.fa
nwtgck/actions-netlify@v4
.fr
quantecon/actions/preview-netlify@v0.8.0
.fr is the most recently set up of the three and uses the QuantEcon-maintained wrapper, which suggests that is the newer house pattern — but it is worth confirming rather than inferring from one data point. Note also that the .fr preview posts a PR comment rather than a commit status, so it does not appear in gh pr checks; whichever is chosen, that difference is worth knowing.
Happy to write the ci.yml half once the site and secret exist and the mechanism is settled.
Two corrections to the "what is needed" section, from checking the secret inventory across the editions directly.
It is two secrets, not one
The issue says NETLIFY_SITE_ID is the missing piece. It is actually both halves of the pair, because they live at different levels:
Secret
Level
.fa
.fr
.zh-cn
NETLIFY_AUTH_TOKEN
organization
✅ granted
✅ granted
❌ not visible
NETLIFY_SITE_ID
repository
✅ set
✅ set
❌ not set
.zh-cn currently has no repository secrets at all, and the only organization secrets visible to it are ANTHROPIC_API_KEY and QUANTECON_SERVICES_PAT. So the work is an org-level grant plus a repo-level secret, and asking only for NETLIFY_SITE_ID would leave it still broken.
The preview check name is a false signal
Worth recording because it is actively misleading: this repo's ci.yml defines a job literally named preview, so every PR shows a green check called "preview" in the checks list. That job is the jupyter-book build — grep -i netlify across .github/workflows/ returns nothing. Anyone glancing at a PR's checks would reasonably conclude this issue is already resolved.
Still blocked on the same decision
Nothing here changes the open question the issue raises about which mechanism to standardise on (nwtgck/actions-netlify@v4 as in the source repo and .fa, versus quantecon/actions/preview-netlify@v0.8.0 as in .fr). The ci.yml half remains small and copyable once that is settled and the two secrets exist.
Activity
mmcky commentedon Aug 10, 2026
Two corrections to the "what is needed" section, from checking the secret inventory across the editions directly.
It is two secrets, not one
The issue says
NETLIFY_SITE_IDis the missing piece. It is actually both halves of the pair, because they live at different levels:.fa.fr.zh-cnNETLIFY_AUTH_TOKENNETLIFY_SITE_ID.zh-cncurrently has no repository secrets at all, and the only organization secrets visible to it areANTHROPIC_API_KEYandQUANTECON_SERVICES_PAT. So the work is an org-level grant plus a repo-level secret, and asking only forNETLIFY_SITE_IDwould leave it still broken.The
previewcheck name is a false signalWorth recording because it is actively misleading: this repo's
ci.ymldefines a job literally namedpreview, so every PR shows a green check called "preview" in the checks list. That job is the jupyter-book build —grep -i netlifyacross.github/workflows/returns nothing. Anyone glancing at a PR's checks would reasonably conclude this issue is already resolved.Still blocked on the same decision
Nothing here changes the open question the issue raises about which mechanism to standardise on (
nwtgck/actions-netlify@v4as in the source repo and.fa, versusquantecon/actions/preview-netlify@v0.8.0as in.fr). Theci.ymlhalf remains small and copyable once that is settled and the two secrets exist.