カバレッジレポートを S3 と Amplify で公開する GitHub Action「coverage-report-s3-amplify」を公開しました
カバレッジレポートは、CI の実行ログをたどらないと見られない状態だと、計測していても開かれないままになりがちです。 生成したレポートをそのままブラウザで開ける場所に置く GitHub Action を公開しました。
- リポジトリ: phrase-llc/coverage-report-s3-amplify
- ライセンス: Apache-2.0
何をするツールか
この Action は3つの処理を行います。
- S3 へのアップロード:指定したディレクトリのカバレッジ成果物を、
artifacts/<リポジトリ名>/<ブランチ名>/<実行ID>/というパスで S3 にアップロードします - Amplify のデプロイ:アップロードした成果物をソースとして、AWS Amplify の
mainブランチのデプロイを起動します - リンクの追記:生成されたレポートのURLを GitHub Actions のステップサマリーに追記します
3つ目の処理があるため、プルリクエストの実行結果からワンクリックでレポートを開き、レビューのついでに目を通せます。
パスに実行IDが入るので、過去の実行結果も残ります。
入力パラメータ
| 名前 | 内容 | 必須 | 既定値 |
|---|---|---|---|
AWS_ACCESS_KEY_ID |
AWS アクセスキーID | ✓ | |
AWS_SECRET_ACCESS_KEY |
AWS シークレットアクセスキー | ✓ | |
BUCKET_NAME |
S3 バケット名 | ✓ | |
AWS_DEFAULT_REGION |
AWS リージョン | ✓ | |
BRANCH_NAME |
ブランチ名 | ✓ | |
AMPLIFY_APP_ID |
Amplify のアプリケーションID | ✓ | |
AMPLIFY_HOST_URL |
Amplify のホストURL(リンク生成に使用) | ✓ | |
COVERAGE_SUBDIRECTORY |
カバレッジ成果物のサブディレクトリ | coverage |
ワークフローへの組み込み
ワークフローにステップとして追加します。
- name: Run coverage-report-s3-amplify action
uses: phrase-llc/coverage-report-s3-amplify@main
continue-on-error: true
with:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
BUCKET_NAME: ${{ secrets.BUCKET_NAME }}
AWS_DEFAULT_REGION: ap-northeast-1
BRANCH_NAME: ${{ github.ref_name }}
AMPLIFY_APP_ID: ${{ secrets.AMPLIFY_APP_ID }}
AMPLIFY_HOST_URL: ${{ secrets.AMPLIFY_HOST_URL }}
continue-on-error: true を付けておくと、公開に失敗しても後続のジョブは止まりません。
カバレッジレポートの公開は補助的な処理なので、そこで CI 全体を落とさない構成を推奨しています。