Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

I Automated My Daily Blog with GitHub Actions, Gemini and the Blogger API

Description and use

Automating daily blog posts with GitHub Actions, Gemini, and Blogger API, handling secret management, model retirement, and OAuth token expiry.

Problem

Automate daily blog posting without manual intervention, ensuring credentials, model availability, and token validity.

Outcome

The automated pipeline publishes a new blog post every morning, handling credential storage, model retirement, and token expiry, while ensuring idempotency and quality guardrails.

Workflow

  • Trigger GitHub Actions on a daily cron schedule.
  • Run generate_post.py to request a Gemini model to write a post about a skill from skills.txt.
  • Run post_to_blogger.py to publish the generated post via the Blogger API.
  • Commit the generated post file to prevent topic repetition.

Evidence

GitHub Actions runs a Python script on a schedule, Gemini writes the post, and the Blogger API publishes it.

Source

The key was in my local .env, but GitHub never sees your .env file.

Source

This model models/gemini-2.0-flash is no longer available.

Source

If your Google OAuth app is in Testing mode, refresh tokens expire after about 7 days.

Source

  • Record date: 2026-11-01T14:59:10.558Z