← gitpulse
CI/CD·Pushed May 1, 2026·S

GitPulse analyzer wired into CI with MiniMax

GitHub commit history is now fed to a MiniMax-powered analyzer that generates real stories, replacing placeholder fixtures in the deployed feed.

GitPulse's site pulls in AI-generated summaries of repository activity. Before this change, the content feed was populated by two static stub files — example stories that existed only to fill the template. Now the analyzer runs automatically as part of CI, consuming actual commit history to produce the stories that end up on the live site. The analyzer requires the full git history to do its work, which meant the checkout step had to switch from a shallow clone to a full fetch. It runs as a distinct step in the workflow, before the site build, using MiniMax's OpenAI-compatible API with a temperature setting of 0.7 and a 30-day lookback window for bootstrapping fresh repositories. Stub fixture files ([[code]]example-direct-push.json[[/code]] and [[code]]example-merged-pr.json[[/code]]) were deleted so the deployed feed reflects actual analyzer output rather than placeholder content.
Technical description
This PR connects an AI analyzer into GitPulse's CI pipeline and configures it to use MiniMax's OpenAI-compatible API. The work spans two workflow files and includes cleanup of legacy fixture content. The [[code ref=1]]analyze.yml[[/code]] workflow is the reusable workflow that does the actual work. Its checkout step now uses [[code]]fetch-depth: 0[[/code]] instead of the default shallow clone — this is required because the analyzer walks the full git log to generate stories. A new [[code]]Run analyzer[[/code]] step was inserted before the site build, invoking [[code]]yarn workspace @gitpulse/action analyze[[/code]] and passing environment variables for the repository context, OpenAI API key, model name, base URL, temperature, and bootstrap window. The [[code ref=2]]self-deploy.yml[[/code]] workflow is the entry point that runs on a schedule (daily at 09:00 UTC) and on push to main. It previously just inherited secrets, but now explicitly configures the analyzer: [[code ref=4]]MiniMax-M2.7[[/code]] as the model, [[code ref=5]]https://api.minimax.io/v1[[/code]] as the base URL, temperature of 0.7, and a 30-day bootstrap period. The [[code ref=3]]MINIMAX_API_KEY[[/code]] secret is mapped to [[code]]OPENAI_API_KEY[[/code]] so the reusable workflow receives it in the expected format. The two deleted fixture files ([[code]]example-direct-push.json[[/code]] and [[code]]example-merged-pr.json[[/code]]) were static placeholder stories that existed purely as scaffold — they are removed so the feed now shows only content generated by the analyzer from real git history. Files at a Glance: - [[code]].github/workflows/analyze.yml[[/code]] — Reusable workflow now runs the analyzer with full history - [[code]].github/workflows/self-deploy.yml[[/code]] — Caller workflow configured for MiniMax - [[code]]site/src/content/stories/example-direct-push.json[[/code]] — Deleted stub fixture - [[code]]site/src/content/stories/example-merged-pr.json[[/code]] — Deleted stub fixture

Categories

  • CI/CD (55%)The change centers on wiring a GitHub Actions workflow to run an AI analyzer before site builds. CI configuration is the primary delivery mechanism.
  • Configuration (30%)MiniMax model, base URL, temperature, and bootstrap days are explicitly parameterized in the reusable workflow. API key secret mapping is also configuration.
  • New Feature (15%)The analyzer can now generate commit stories automatically in CI, where previously it was either not running or using static fixtures.