はじめに
gemini-actions-lab v0.8.1をリリースしました。このバージョンでは、リリースノートの情報を基にZennやQiitaなどの複数プラットフォームに対応した技術記事を自動生成する新しいGitHub Actionsワークフローを導入しました。また、開発プロセスを効率化するための改善も含まれています。
主な変更点
- 技術記事生成ワークフローの導入: リリースノート作成後、Zenn, Qiita, WordPress向けの技術記事をOasisフォーマットで自動生成する
gemini-release-articles.yml
を追加しました。 - diff情報のサイズ制御機能: LLMに渡すdiff情報のトークン数を最適化するため、行数と文字数でサイズを制限する
clamp_diff.py
スクリプトを導入しました。 - PyPIリリースワークフローの改善: 手動実行時にバージョンを指定し、
pyproject.toml
のバージョンを自動で更新できるようになりました。
技術的な詳細
新機能
1. 技術記事の自動生成ワークフロー
今回のリリースの目玉機能として、リリースノートの内容から技術記事を自動生成する gemini-release-articles.yml
ワークフローを追加しました。
- Oasisフォーマット対応: Zenn, Qiita, WordPressのフロントマターとMarkdown本文を組み合わせたOasisフォーマットで出力し、マルチプラットフォームへの展開を容易にします。
- ロジックの分離: 従来のリリースノート生成ワークフロー (
gemini-release-notes.yml
) から記事生成ロジックを分離し、メンテナンス性を向上させました。
2. diff情報のサイズ制御
LLMへの入力コンテキストを最適化するため、clamp_diff.py
スクリプトを追加しました。
このスクリプトは、git diff
の結果を以下の2つの観点で制限し、トークン数の超過を防ぎます。
- 行数: 指定した行数を超えるdiffを切り詰めます。
- 文字数: 全体の文字数を制限し、長大なdiffを扱えるようにします。
3. PyPIリリースワークフローの機能強化
手動でPyPIリリースを行う際の利便性を向上させました。
- 手動バージョン指定: ワークフローの手動実行時にバージョン番号を直接入力できるようになり、柔軟なリリースが可能になりました。
pyproject.toml
の自動更新: 指定されたバージョンでpyproject.toml
ファイルを自動的に更新し、手作業によるミスを削減します。
改善点
1. READMEの画像リンク修正
外部サイト(例: PyPI)でREADMEの画像が正しく表示されるよう、画像リンクを相対パスから絶対パスに修正しました。これにより、どこからでもリポジトリのコンテンツが意図通りに表示されます。
2. 開発環境のセットアップ簡素化
開発に必要な環境変数のサンプルファイルとして、.env.example
と .env.actions.example
を追加しました。これにより、新しい開発者がプロジェクトに参加する際の環境構築がスムーズになります。
バグ修正
今回のリリースには、主要なバグ修正はありません。
まとめ
v0.8.1では、リリース作業の自動化と効率化を大きく前進させました。特に技術記事の自動生成は、情報発信の手間を大幅に削減し、開発者がより本質的な作業に集中できる環境を提供します。
今後も開発体験を向上させる機能を追加していく予定ですので、ぜひフィードバックをお寄せください。
📚 参考リンク
- GitHubリポジトリ: Sunwood-ai-labsII/gemini-actions-lab
- 比較URL: v0.7.0...v0.8.1
- リリースページ: v0.8.1 Release
コメント