Claude Code最高ですね。。。。今まで対応できていなかった大型機能に着手してみました。また、それに伴い単体テストの拡充、および統合テストの追加を行いました。
pushイベントに対応
従来のworkflow_run
イベントに加えて、push
イベントにも対応し、多様なユースケースに柔軟に対応できるようになりました。
以前は、workflow_run
イベントでの監視のみに制限されていましたが、Issue #106でユーザから以下のフィードバックがありました。
- ユーザは100以上のリポジトリで再利用可能ワークフローを使用している
- 新しいworkflow_runワークフローを全リポジトリに導入するのは大きな作業負荷になる
- 再利用可能ワークフローの最後のステップとしてOpenTelemetry GitHub Actionsを追加できるようにしてほしい
2つの監視アプローチを選択可能
v0.7.0では、用途に応じて2つの監視アプローチを選択できるようになりました。
Option 1: 他のワークフローを監視(従来の方法)
完了したワークフローをworkflow_run
イベントで監視:
name: Send Telemetry after Other Workflow on: workflow_run: # 監視対象のワークフローを指定 workflows: - Check Transpiled JavaScript - Continuous Integration - CodeQL - Lint Codebase # 完了したワークフローからメトリクスとトレースを作成 types: - completed jobs: send-telemetry: name: Send CI Telemetry runs-on: ubuntu-latest steps: - name: Run id: run uses: paper2/github-actions-opentelemetry@v0.6.0 ...
Option 2: 現在のワークフローを監視(新機能)
現在のワークフローを最後のステップとして監視:
name: CI with Built-in Telemetry on: push: branches: [main] pull_request: branches: [main] jobs: # 監視対象のジョブ build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: npm ci - run: npm run build # 他のジョブ完了後にテレメトリジョブを実行 telemetry: runs-on: ubuntu-latest needs: [build] # 他のジョブの完了を待つ if: always() # 他のジョブが失敗しても実行 steps: # 同じジョブの中でテレメトリを送信できるようになった - name: Send Telemetry uses: paper2/github-actions-opentelemetry@v0.7.0 ...
まとめ
GitHub Actions OpenTelemetry v0.7.0では従来のworkflow_runアプローチに加えて、pushベースの統合型アプローチを選択できるようになり、組織やプロジェクトの多様な要件に対応可能になりました。