Skip to content

Commit 4642dfd

Browse files
fix(website): warn instead of failing while the hero film is stale (#835)
* ci(website): deploy on nostream-website release publish, not on main pushes The site now deploys when the changesets workflow tags and publishes nostream-website@X.Y.Z (the release event this workflow filters on). Merging relay work to main no longer touches the site deploy; a site deploy happens exactly when a release PR that bumps nostream-website merges. Checkout on a release event is the tagged commit, so the deployed assets are the released build. Relay image releases keep their v* gate in release.yml — the tag namespaces do not overlap. workflow_dispatch remains for manual deploys of main. * fix(website): warn instead of failing while the hero film is stale The film guard hard-failed every site build since #830 added NIP-77 (supportedNips 24 -> 25): re-rendering the film needs the GPU pipeline and no GPU is available to the sandbox or the runners. Per operator order the mismatch branch now warns (loudly, with the re-render commands) and exits 0, unblocking releases; the comment in the script names the day, the order, and where to restore exit 1.
1 parent ed74856 commit 4642dfd

3 files changed

Lines changed: 27 additions & 26 deletions

File tree

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"nostream-website": patch
3+
---
4+
5+
Soften the hero-film NIP-count guard to a warning while the landing film awaits its GPU re-render (NIP-77 grew the supported list to 25; the film still shows 24).

‎.github/workflows/deploy-website.yml‎

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,15 @@
11
name: Deploy Website
22

3-
# The marketing site deploys after a release lands on main: the changesets
4-
# release PR bumps nostream-website, merging it is the deploy trigger. Version
5-
# the site with a changeset, merge the release PR — never deploy from a branch.
3+
# The marketing site deploys when a nostream-website release is published:
4+
# the changesets release PR bumps the site package, and merging that PR makes
5+
# the changesets workflow tag + publish nostream-website@X.Y.Z and create the
6+
# GitHub release — this workflow deploys that tagged build. Merges to main do
7+
# not deploy; version the site with a changeset and merge the release PR.
68

79
on:
8-
push:
9-
branches:
10-
- main
11-
paths:
12-
- "website/site/**"
13-
- "pnpm-lock.yaml"
14-
- "package.json"
15-
- "README.md"
16-
- "CLI.md"
17-
- "CONFIGURATION.md"
18-
- "CONTRIBUTING.md"
19-
- "SECURITY.md"
20-
- "CHANGELOG.md"
21-
- "deploy/**"
22-
- "docs/**"
10+
release:
11+
types:
12+
- published
2313
workflow_dispatch:
2414

2515
concurrency:
@@ -28,9 +18,9 @@ concurrency:
2818

2919
jobs:
3020
deploy:
31-
# workflow_dispatch ignores the push-branch filter; a manual run must not
32-
# publish a non-main branch to production.
33-
if: github.event_name != 'workflow_dispatch' || github.ref == 'refs/heads/main'
21+
if: >-
22+
${{ startsWith(github.event.release.tag_name, 'nostream-website@') ||
23+
github.event_name == 'workflow_dispatch' }}
3424
name: Build and deploy to Cloudflare Workers
3525
runs-on: ubuntu-latest
3626
# Deploy credentials live in this GitHub environment: CLOUDFLARE_API_TOKEN

‎website/site/scripts/check-hero-nips.mjs‎

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,18 @@ if (!existsSync(metaPath)) {
2424

2525
const meta = JSON.parse(readFileSync(metaPath, 'utf8'))
2626
if (meta.nipCount !== expected) {
27-
console.error(
28-
`check-hero-nips: hero film shows ${meta.nipCount} NIPs but package.json has ${expected}.`,
27+
// SOFTENED 2026-10-16 on Cameri's order: this guard hard-failed the site
28+
// build (and with it, releases) because #830 added NIP-77 while the hero
29+
// film still renders 24 — the re-render needs the GPU pipeline
30+
// (cd website/hero-animation && pnpm run render, then cd ../site && pnpm
31+
// run media) and no GPU is currently available. Restore `process.exit(1)`
32+
// on this branch once the film is re-rendered.
33+
console.warn(
34+
`check-hero-nips: STALE FILM — hero film shows ${meta.nipCount} NIPs but package.json has ${expected}. Build continues; re-render before the next site copy refresh.`,
2935
)
30-
console.error('Re-render: cd website/hero-animation && pnpm run render')
31-
console.error('Then: cd ../site && pnpm run media')
32-
process.exit(1)
36+
console.warn('Re-render: cd website/hero-animation && pnpm run render')
37+
console.warn('Then: cd ../site && pnpm run media')
38+
process.exit(0)
3339
}
3440

3541
console.log(`check-hero-nips: ok (${expected} NIPs)`)

0 commit comments

Comments
 (0)