<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>GitHub Actions on Eugeniusz Zabłocki Blog</title>
    <link>https://ezablocki.com/tags/github-actions/</link>
    <description>Recent content in GitHub Actions on Eugeniusz Zabłocki Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <copyright>© Eugeniusz Zabłocki</copyright>
    <lastBuildDate>Tue, 25 Aug 2026 10:00:00 +0200</lastBuildDate><atom:link href="https://ezablocki.com/tags/github-actions/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Building a Production AI Agent for CI/CD: Wiring Python, Qdrant, and GitHub Actions to Audit Pull Requests</title>
      <link>https://ezablocki.com/posts/sentinel-ai-part-3-cicd-github-actions/</link>
      <pubDate>Tue, 25 Aug 2026 10:00:00 +0200</pubDate>
      
      <guid>https://ezablocki.com/posts/sentinel-ai-part-3-cicd-github-actions/</guid>
      <description>Automating license compliance in CI/CD pipelines sounds straightforward: parse package.json, inspect package names, and block the Pull Request if someone smuggles in a Copyleft license (like GPL-2.0 or GPL-3.0). In practice, when dealing with messy npm metadata, registry lookups, and the runaway cost of continuous LLM API calls, traditional static scripts quickly fall apart.
In Part 1 we scaled Sentinel AI horizontally with LangGraph Map-Reduce. In Part 2 we locked down verdict output with Pydantic and grammar-based sampling on local Ollama.</description>
    </item>
    
  </channel>
</rss>
