Main Branch

Fundamentals first, always

Edición #19

🥊 Main Branch: En la que Actions deja de pelear contigo 🛠️

Por Andrea Griffiths Read in English
github-actions environments cron timezone open-source
Escuchar artículo

Hola mi gente linda,

¿Alguna vez tienen una herramienta que usan todos los días que simplemente… tiene sus cositas? Saben cómo darle la vuelta, ya se memorizaron los trucos, pero igual les cuesta cinco minutos cada vez.

Esta semana, GitHub Actions suavizó dos de las mías.

🚢 Lo que salió

Actions: Usar environments sin crear un deployment

Los Environments en GitHub Actions son geniales para manejar secrets y variables por etapa (staging, production, etc.). ¿El problema? Cada vez que un workflow corría contra un environment, creaba un deployment. Eso significaba un historial de deploys lleno de ruido para workflows que solo estaban usando el manejo de secrets, sin desplegar nada.

Ahora pueden desactivarlo. Agreguen deployment: false al bloque de environment en el YAML del workflow. Es por job, bajo jobs.<job_id>.environment:

jobs:
  build:
    environment:
      name: staging
      deployment: false
    steps:
      - run: echo "Usando secrets de staging, sin deployment creado"

Un detalle: las reglas de protección de deployment personalizadas (las de GitHub Apps) necesitan un objeto de deployment real. Si ponen deployment: false, el job falla inmediatamente.

Actions: Soporte de zona horaria para workflows programados

Los workflows programados en Actions siempre han corrido en UTC. Punto. Si tu equipo está en Bogotá y querías que un workflow corriera a las 9am hora local, estabas haciendo matemáticas de zonas horarias cada vez que tocabas la expresión cron.

Se acabó. Ahora pueden pasar un campo timezone con cualquier nombre de zona horaria IANA junto con su schedule cron.

on:
  schedule:
    - cron: '0 9 * * 1-5'
      timezone: "America/Bogota"

Tu pipeline, tu zona horaria. Por fin. Detalle: las reglas de horario de verano aplican. Si la hora programada cae en una hora que se salta durante el cambio de hora, Actions lo corre en la siguiente hora válida.

📖 Lo que estoy leyendo

I prompt injected my CONTRIBUTING.md — 50% of PRs are bots por punkpeye (Frank Fiegel)

Un maintainer de awesome-mcp-servers empezó a recibir un montón de PRs. El volumen subió. La calidad se fue. Entonces, escondió un prompt injection en su CONTRIBUTING.md para detectar cuáles venían de agentes de IA. Los resultados no sorprenden. Las implicaciones sí.

Vale la pena si: mantienen algún proyecto open source, o han notado que la onda de las contribuciones está cambiando.

🔧 Lo que estoy usando

/chronicle improve en GitHub Copilot CLI es experimental y no puedo dejar de usarlo. Revisa tus sesiones de código, encuentra dónde te trabaste, y puedes pedirle que actualice tus instrucciones de Copilot para no tropezar con lo mismo dos veces. Encontró cosas en las mías que ni sabía que seguía haciendo.

✨ Esta semana

Mike McQuaid dijo algo que no se me sale de la cabeza: la seguridad laboral murió, la seguridad de carrera es lo que realmente importa. Eso se construye aprendiendo, cambiando, saliendo de tu zona cómoda.

Después leí lo de los PRs de bots. La mitad de las contribuciones en un repo popular de open source: automatizadas. Los maintainers gastando su tiempo libre filtrando todo eso.

Presentarse como un humano real en este trabajo, con curiosidad, responsabilidad, presencia, puede ser la habilidad más subestimada que tenemos ahora mismo. ¡Apuéstenle a eso!

Eso es todo, manden fixes y preséntense como humanos.

Con gratitud, nos vemos la próxima semana,

Andrea

💛 Apóyanos

Si Main Branch te ahorra tiempo o te enseña algo nuevo, considera apoyarlo: