Skip to content

fix: guard empty ai-task issues in ai-implement and inject build date into release body#343

Merged
ModerRAS merged 1 commit into
masterfrom
fix/ci-and-release-notes
May 11, 2026
Merged

fix: guard empty ai-task issues in ai-implement and inject build date into release body#343
ModerRAS merged 1 commit into
masterfrom
fix/ci-and-release-notes

Conversation

@ModerRAS

@ModerRAS ModerRAS commented May 11, 2026

Copy link
Copy Markdown
Owner

Two CI fixes:

  1. ai-implement.yml - Guard against empty �i-task issues list to prevent 404 crash when no issues are found (was making request to issues//comments)

  2. push.yml release notes - Release body template variables (e.g. $(date ...)) were not being substituted because they were never evaluated. Added a Generate release body PowerShell step that properly resolves Get-Date and writes a
    elease-body.md file, then passes it via �ody_path to softprops/action-gh-release alongside generate_release_notes: true.

Also includes pre-existing LLM provider changes from workspace

  • OpenAIResponsesService.cs (new)
  • LLMFactory, ModelCapabilityService, LLMProvider updates
  • LlmServiceProxy, test updates

Summary by CodeRabbit

Release Notes

  • New Features
    • Added OpenAI Responses API as a new language model provider option for chat generation
    • Supports streaming responses with integrated function calling capabilities
    • Enables image analysis, text embeddings generation, and model capability detection
    • Includes conversation history management and session continuation through snapshot-based restoration

Review Change Stack

… into release body

- fiAI-implement: return early when no ai-task labeled issues to prevent 404 on issues//comments
- push.yml: add Generate release body step that substitutes Build Date via PowerShell Get-Date
- pipe generated release-body.md through body_path alongside generate_release_notes: true
@coderabbitai

coderabbitai Bot commented May 11, 2026

Copy link
Copy Markdown

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

The PR introduces OpenAI's Responses API as a new LLM provider and improves GitHub Actions workflows. A new ResponsesAPI enum value is registered, a full OpenAIResponsesService implementation handles chat execution with tool calling and snapshot resumption, and factory/proxy classes wire the service into the DI container. Additionally, GitHub Actions workflows are updated to handle missing issues gracefully and generate custom release bodies.

Changes

GitHub Actions Workflow Updates

Layer / File(s) Summary
AI Implement Issue Selection
.github/workflows/ai-implement.yml
Early-return guard added when no ai-task-labeled issues exist; comment lookup and plan detection now proceed only when issues list is non-empty.
Push Workflow Release Body
.github/workflows/push.yml
New step generates a Markdown release-body.md file with version and date; publish step passes it via body_path to GitHub Release.

OpenAI Responses API Provider Integration

Layer / File(s) Summary
Provider Enum
TelegramSearchBot.Common/Model/AI/LLMProvider.cs
New ResponsesAPI = 7 enum value added.
Service Implementation
TelegramSearchBot.LLM/Service/AI/LLM/OpenAIResponsesService.cs
New transient injectable service that implements IService and ILLMService, using OpenAI's Responses API for streaming chat with tool calling, snapshots for continuation, and auxiliary methods for embeddings, model listing, and image analysis.
Factory Registration
TelegramSearchBot.LLM/Service/AI/LLM/LLMFactory.cs
LLMFactory accepts OpenAIResponsesService dependency and registers it in _services under ResponsesAPI key.
Capability Resolution
TelegramSearchBot.LLM/Service/AI/LLM/ModelCapabilityService.cs
GetLLMService switch resolves ResponsesAPI provider to OpenAIResponsesService instance.
Service Proxy Wiring
TelegramSearchBot.LLMAgent/Service/LlmServiceProxy.cs
ResolveService maps ResponsesAPI to OpenAIResponsesService; ApplyBotIdentity sets BotName on the service.
Test Fixtures
TelegramSearchBot.LLM.Test/Service/AI/LLM/LLMFactoryTests.cs
Constructor creates OpenAIResponsesService mock and passes it to updated LLMFactory.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Poem

🐰 A new Responses API hops in to stay,
With tools that call and snapshots to replay,
The workflows now won't stumble when lists are bare,
Release bodies bloom with markdown flair,
Provider seven thrives with streaming care!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 58.62% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately describes the two main fixes: guarding empty ai-task issues in ai-implement workflow and injecting build date into release body in push workflow, with additional context about LLM provider changes.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/ci-and-release-notes

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

Copy link
Copy Markdown
Contributor

PR Check Report

Summary

Test Results

Platform Status Details
Ubuntu Passed Tests passed, artifacts uploaded
Windows Passed Tests passed, artifacts uploaded

Code Quality

  • Code formatting check
  • Security vulnerability scan
  • Dependency analysis
  • Code coverage collection

Test Artifacts

  • Test results artifacts count: 2
  • Code coverage uploaded to Codecov

Links


This report is auto-generated by GitHub Actions

@ModerRAS ModerRAS merged commit 59e5478 into master May 11, 2026
4 of 5 checks passed
@ModerRAS ModerRAS deleted the fix/ci-and-release-notes branch May 11, 2026 11:16
ModerRAS added a commit that referenced this pull request May 11, 2026
… error

PR #343 added a Generate release body step with a PowerShell here-string
but the body content (between @ and @) was not indented, causing YAML
to interpret ** as alias references. This broke the push workflow with
a parse error.

Fix: indent the here-string body and closing @ to 8 spaces to stay
within the YAML | block scalar.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant