↑ top
← Back to blog
EN | ES

Automatizando la Publicación de Posts desde el Móvil con GitHub Actions

Cómo publico posts desde el teléfono sin abrir un laptop — usando GitHub Actions, Cloudflare Workers y un pipeline de CI que automatiza todo.

✦ AI Summary

The Cloudflare Worker lets you publican posts desde el teléfono. El pipeline de CI hace cuatro cosas en secuencia:Lee los nuevos archivos de posts, parsea su frontmatter, comprimidas a Cloudflar R2, elimina los originales del repo. Comprime las imágenes hero** desde cualquier formato (PNG, JPG, WebP

Automatizando la Publicación de Posts desde el Móvil con GitHub Actions

Los posts anteriores cubrieron cómo construir este sitio en Cloudflare Workers y agregar un dominio personalizado. La siguiente pregunta obvia fue: ¿puedo publicar un post nuevo desde el teléfono sin necesitar un laptop?

La respuesta resultó ser sí — y la solución no requirió ninguna herramienta nueva.

El Problema con los Flujos Tradicionales

La mayoría de los generadores de sitios estáticos asumen que tienes una terminal abierta. Escribes el post, corres un comando de build, despliegas, commiteas los artefactos. Incluso con CI, normalmente necesitas ejecutar algo localmente antes de hacer push.

Yo quería lo contrario: escribir un archivo Markdown, agregar una imagen, abrir un pull request, mergearlo — y que todo lo demás sucediera automáticamente. Desde cualquier lugar, incluyendo el teléfono.

Lo que Hace el Pipeline

Cuando se mergea un PR con cambios en posts/** o images/** a main, el pipeline de CI corre npm run publish, que hace cuatro cosas en secuencia:

  1. Lee los nuevos archivos de posts desde posts/ y parsea su frontmatter
  2. Comprime las imágenes hero desde cualquier formato (PNG, JPG, WebP) a WebP al 80% de calidad, máximo 1200px de ancho — un PNG de 5MB se convierte en ~100KB
  3. Sube las imágenes comprimidas a Cloudflare R2 y elimina los originales del repo
  4. Reconstruye kv-seed.json y siembra Cloudflare KV con el índice y contenido actualizado

Después de eso, un bot commitea los artefactos generados (kv-seed.json, frontmatter actualizado con image: true) de vuelta a main con [skip ci] para evitar un loop infinito.

El worker toma los nuevos datos de KV en la siguiente request — sin necesidad de despliegue. Los posts quedan en vivo a los 30 segundos del merge.

El Flujo Móvil

Con este pipeline, publicar desde el teléfono se ve así:

  1. Escribir el post — en la app de GitHub mobile, crear un archivo nuevo en posts/mi-post.md directamente en un branch
  2. Agregar la imagen — subir la imagen hero a images/mi-post.jpg en el mismo branch
  3. Abrir un PR — GitHub mobile lo maneja nativamente
  4. Mergear — un tap, el CI toma el control

Sin terminal. Sin SSH. Sin laptop. Todo el flujo de publicación cabe en la pantalla del teléfono.

El Trigger Manual

Para los casos en que quieres volver a correr el pipeline sin un commit nuevo — resembrar KV después de una edición manual, redesplegar el worker, probar el pipeline — agregué workflow_dispatch a la configuración del CI:

yamlon:
  push:
    branches:
      - main
    paths:
      - "posts/**"
      - "images/**"
      - "src/**"
      - "scripts/**"
      - "static/**"
  workflow_dispatch:

Esto agrega un botón "Run workflow" en la pestaña de GitHub Actions, accesible desde la app mobile de GitHub. Un tap para disparar el pipeline completo manualmente.

Publicación Asistida con Claude

El flujo que más uso en la práctica va un paso más allá: no escribo los posts manualmente tampoco.

  1. Abrir una sesión de Claude Code desde la web o el móvil
  2. Describir el tema — Claude escribe las versiones en inglés y español
  3. Subir las imágenes hero a Google Drive
  4. Avisarle a Claude que las imágenes están listas — las descarga vía la API de Drive, commitea posts e imágenes a un branch, y mergea el PR
  5. El CI maneja todo lo demás

Todo el flujo desde "quiero escribir sobre X" hasta "el post está en vivo" toma unos 10 minutos y no requiere ninguna configuración local.

La Idea de Fondo

La realización clave es que los pipelines de CI no son solo para desplegar código — pueden ser el runtime para cualquier tarea automatizada. Compresión de imágenes, procesamiento de contenido, invalidación de caché, generación de artefactos: todo esto puede vivir en un pipeline disparado por un git push.

Una vez que el pipeline existe, la interfaz de publicación se convierte en cualquier cosa que pueda hacer un commit. Una terminal, un teléfono, un editor web, un agente de IA — no importa. El pipeline hace el resto.

Esa flexibilidad vale más que cualquier UI de publicación.

Was this helpful?