【リリースノート】gemini-actions-lab v0.8.1 – ワークフロー改善と技術記事自動生成の導入

リリースノート

はじめに

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では、リリース作業の自動化と効率化を大きく前進させました。特に技術記事の自動生成は、情報発信の手間を大幅に削減し、開発者がより本質的な作業に集中できる環境を提供します。

今後も開発体験を向上させる機能を追加していく予定ですので、ぜひフィードバックをお寄せください。


📚 参考リンク

コメント

タイトルとURLをコピーしました