Skip to content

fix(build): add the missing env generation script - #104

Merged
yosef7 merged 1 commit into
mainfrom
fix/netlify-build-env
Aug 23, 2026
Merged

fix(build): add the missing env generation script#104
yosef7 merged 1 commit into
mainfrom
fix/netlify-build-env

Conversation

@yosef7

@yosef7 yosef7 commented Aug 23, 2026

Copy link
Copy Markdown
Member

El problema

El build command de Netlify —configurado en la UI del proyecto, no en el repo— es node scripts/generate-env.cjs, y ese archivo nunca se commiteó. 90fe322 sacó las credenciales de Supabase hacia un 2026/js/env.js ignorado por git, pero no añadió el script que lo genera.

Resultado: todos los deploys fallan desde entonces, en 7 segundos.

Error: Cannot find module '/opt/build/repo/scripts/generate-env.cjs'
Build failed due to a user error: Build script returned non-zero exit code: 2

Producción quedó congelada en el merge de #98. Comprobado contra el sitio en vivo:

Página En producción En main
agenda.html 12 080 B (= c800b60) 12 236 B
index.html 7 060 B 7 209 B
faq.html 6 626 B 6 869 B

Lo grave es la consecuencia: pycon.pa/2026/codigo_conducta.html sigue publicando pyconpanama@gmail.com como canal de reporte de incidentes, aunque main tiene la dirección correcta desde el merge e743599. Ese es el riesgo R9 del registro interno, materializado y en vivo. Un reporte enviado hoy a esa dirección no llega a nadie.

El cambio

  • scripts/generate-env.cjs (nuevo) — genera 2026/js/env.js a partir de PYCON_SUPABASE_URL y SUPABASE_PUBLISHABLE_KEY, las variables que Netlify ya tiene configuradas. Acepta alias (SUPABASE_URL, SUPABASE_ANON_KEY) para no romper otros entornos.
  • netlify.toml — el comando pasa al archivo, que tiene precedencia sobre la UI. Así queda versionado junto al script que invoca, y no vuelve a existir un comando invisible apuntando a un archivo inexistente.

Decisión que conviene revisar: si faltan las credenciales, el script avisa fuerte en el log pero sale con 0. Los formularios de registro quedarían rotos, pero el resto del sitio —incluido el Código de Conducta y su canal de reporte— se publica igual. El criterio es que una credencial ausente no vuelva a tumbar la publicación entera. Si se prefiere que falle duro, es una línea.

Verificación

Probado en local por los dos caminos (con y sin variables de entorno). El mismo commit, aplicado en #103, produjo un deploy preview correcto: env.js generado con la URL real de Supabase y todos los checks de Netlify en verde.

Por qué va aparte

Sale de #103, que trae el texto completo del Código de Conducta. Ese PR necesita revisión de contenido con calma; este arregla algo que está roto ahora y desbloquea el despliegue de la corrección del correo. Una vez que este entre, #103 se queda solo con el contenido.

🤖 Generated with Claude Code

Netlify's build command, set in the UI, is `node scripts/generate-env.cjs`,
but that file was never committed: 90fe322 moved the Supabase credentials out
of the repo into an untracked 2026/js/env.js without adding the script that
generates it. Every deploy has failed with MODULE_NOT_FOUND since, so
production is frozen at the #98 merge and still serves the outdated code of
conduct with the wrong reporting address.

The script writes 2026/js/env.js from PYCON_SUPABASE_URL and
SUPABASE_PUBLISHABLE_KEY, the variables Netlify already exposes. Missing
credentials warn loudly but exit 0: the registration forms break, while the
rest of the site — including the code of conduct and its reporting channel —
still gets published.

The command also moves into netlify.toml, which takes precedence over the UI
setting, so it stays versioned next to the script it invokes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@yosef7
yosef7 requested a review from a team August 23, 2026 04:40
@netlify

netlify Bot commented Aug 23, 2026

Copy link
Copy Markdown

Deploy Preview for pycon ready!

Name Link
🔨 Latest commit 845f759
🔍 Latest deploy log https://app.netlify.com/projects/pycon/deploys/6a8a79d422db4e000825b82a
😎 Deploy Preview https://deploy-preview-104--pycon.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@yosef7
yosef7 merged commit 845f759 into main Aug 23, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant