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
5 changes: 5 additions & 0 deletions .changeset/soften-hero-film-guard.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"nostream-website": patch
---

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).
32 changes: 11 additions & 21 deletions .github/workflows/deploy-website.yml
Original file line number Diff line number Diff line change
@@ -1,25 +1,15 @@
name: Deploy Website

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

on:
push:
branches:
- main
paths:
- "website/site/**"
- "pnpm-lock.yaml"
- "package.json"
- "README.md"
- "CLI.md"
- "CONFIGURATION.md"
- "CONTRIBUTING.md"
- "SECURITY.md"
- "CHANGELOG.md"
- "deploy/**"
- "docs/**"
release:
types:
- published
workflow_dispatch:

concurrency:
Expand All @@ -28,9 +18,9 @@ concurrency:

jobs:
deploy:
# workflow_dispatch ignores the push-branch filter; a manual run must not
# publish a non-main branch to production.
if: github.event_name != 'workflow_dispatch' || github.ref == 'refs/heads/main'
if: >-
${{ startsWith(github.event.release.tag_name, 'nostream-website@') ||
github.event_name == 'workflow_dispatch' }}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Unmerged changes can go live

The new workflow_dispatch condition allows manual runs from any branch. actions/checkout@v3 checks out the selected branch, and wrangler deploy sends that build to the production domain. A manual run from a feature branch can therefore replace the live website with unmerged changes. Keep the refs/heads/main check for manual runs while allowing website release tags.

Suggested change
github.event_name == 'workflow_dispatch' }}
(github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/main') }}

name: Build and deploy to Cloudflare Workers
runs-on: ubuntu-latest
# Deploy credentials live in this GitHub environment: CLOUDFLARE_API_TOKEN
Expand Down
16 changes: 11 additions & 5 deletions website/site/scripts/check-hero-nips.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,18 @@ if (!existsSync(metaPath)) {

const meta = JSON.parse(readFileSync(metaPath, 'utf8'))
if (meta.nipCount !== expected) {
console.error(
`check-hero-nips: hero film shows ${meta.nipCount} NIPs but package.json has ${expected}.`,
// SOFTENED 2026-10-16 on Cameri's order: this guard hard-failed the site
// build (and with it, releases) because #830 added NIP-77 while the hero
// film still renders 24 — the re-render needs the GPU pipeline
// (cd website/hero-animation && pnpm run render, then cd ../site && pnpm
// run media) and no GPU is currently available. Restore `process.exit(1)`
// on this branch once the film is re-rendered.
console.warn(
`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.`,
)
console.error('Re-render: cd website/hero-animation && pnpm run render')
console.error('Then: cd ../site && pnpm run media')
process.exit(1)
console.warn('Re-render: cd website/hero-animation && pnpm run render')
console.warn('Then: cd ../site && pnpm run media')
process.exit(0)
}

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