ビルド成果物の差分をGitHub Pull Requestで視覚的に比較します。 このActionは、変更によって引き起こされる成果物の変更を開発者が認識できることを手助けしてくれます。
サンプルリポジトリ
- https://github.com/Himenon/diff-artifacts-example
- https://github.com/Himenon/diff-artifacts-example-diff-viewer
サンプルPull Request
- GitHub Appを作成し、以下の権限を付与してください。 Pull requests (Read/Write), Contents (Read/Write)
APP_IDとAPP_PRIVATE_KEYをリポジトリシークレットに保存してください。diff-viewer用の空のリポジトリを作成してください。
artifactの比較
on:
pull_request:
jobs:
compare:
runs-on: ubuntu-latest
steps:
- uses: Himenon/diff-artifacts/compare@v1.1.0
with:
app-id: ${{ secrets.APP_ID }}
app-private-key: ${{ secrets.APP_PRIVATE_KEY }}
diff-viewer-owner: "your-username"
diff-viewer-repo-name: "your-diff-viewer-repo"baseブランチのartifactアップロードとPRの自動クローズも設定できます:
baseブランチのartifactアップロード
on:
push:
branches: [main]
jobs:
upload:
runs-on: ubuntu-latest
steps:
# ビルドステップ ...
- uses: Himenon/diff-artifacts/upload@v1.1.0
with:
path: dist/diff-artifactsで作成されたPRの自動クローズ
on:
pull_request:
types: [closed]
jobs:
cleanup:
runs-on: ubuntu-slim
steps:
- uses: Himenon/diff-artifacts/close-pr@v1.1.0
with:
app-id: ${{ secrets.APP_ID }}
app-private-key: ${{ secrets.APP_PRIVATE_KEY }}
diff-viewer-owner: "your-username"
diff-viewer-repo-name: "your-diff-viewer-repo"実際のプロダクトで使用する際はリポジトリをCloneしたり、組織内にForkしてカスタマイズして利用することをおすすめします。デフォルトのオプションは最小構成で動作するように設計されており、複雑なワークフローに対応することを想定して作られていないためです。
