Closed Kotaro666-dev closed 4 months ago
Visit the preview URL for this PR (updated for commit 2b09fcf):
https://flutter-mobile-project-template-catalog--pr190-bugfix-r47cvkct.web.app
(expires Tue, 07 May 2024 06:24:13 GMT)
🔥 via Firebase Hosting GitHub Action 🌎
Sign: 9ea56735a63d07a7cfe62eb204b0528284c37c23
Ready for review :rocket:
@Kotaro666-dev
解決法を見つけました。
template-cleanup.yaml
のPushの後にチェックアウトすることで解決します。
以下で正しく動作していることを確認しました。 https://github.com/Yamasaki-pan961/fix-157/actions/runs/8888140854/job/24404497921
# https://github.com/ad-m/github-push-action
- name: Push changes
uses: ad-m/github-push-action@d91a481090679876dfc4178fef17f286781251df # v0.8.0
with:
branch: main
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Check out the original repository
# https://github.com/actions/checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
まず、ワークフローに記述していないが実行されるPost Cleanup
は、ワークフローの実行中に行われた変更をクリーンアップするためにあるそうです。
Push changes
ステップのあとにチェックアウトせずにPost Cleanup
が実行されると、最初のFetch sources
のステップでのチェックアウト状態のまま、Pushにより変更されたリモートブランチでクリーンアップするためエラーになる、と予想しました。
(Post Cleanup
の詳細な動作を把握していないため、正確な予想ではないと思います)
もちろんです。GitHub ActionsのPost Cleanup jobは、ワークフローが終了した後に実行されるジョブで、主に以下の2つの目的があります: 1. **リポジトリのクリーンアップ**:ワークフローの実行中に行われた変更を元に戻すために使用されます。例えば、`actions/checkout@v2`アクションが完了したときには、gitの設定をクリーンアップするためのコマンドが実行されます。 2. **ワークスペースのクリーンアップ**:特に自己ホスト型のランナーを使用している場合、ワークフローの終了後にワークスペース内のファイルが削除されないことがあります。そのため、特別なGitHub Action(例:`TooMuch4U/runner-post-cleanup@v2.1`)を使用して、ジョブの終了時にランナーのワークスペース内のすべてのファイルを削除することが推奨されます。 これらのクリーンアップ作業は、次回のワークフロー実行時に影響を与えないようにするために重要です。具体的な動作は使用しているアクションやランナーの種類によりますが、基本的にはワークフローの実行後にリポジトリやワークスペースをクリーンな状態に戻すためのものです。[1][2]。これにより、各ワークフローは互いに独立して、予期しない副作用なく実行できます。[1][2]。この機能は、特に頻繁にワークフローを実行するCI/CDパイプラインで有用です。[1][2]。[1][2]。
@Yamasaki-pan961
こちらのコメントに記載してくれたやり方を真似てローカル環境で実行してみた結果、問題が解消していることを確認しました。
https://github.com/Kotaro666-dev/test-issue-157/actions/runs/8889252546/job/24407337302
※上記の検証リポジトリとフォークリポジトリは本 PR マージ後に削除します
レビューありがとうございました! マージします。
概要
close: #157
テンプレート機能を使用した際に実行される
Post Cleanup Copilot Settings
が以下のログとともに失敗します。本不具合と類似した issue のワークアラウンド対応を参考にして、
Cleanup Copilot Settings
の最後にcheckout
を実行してテンプレートプロジェクトのリポジトリにチェックアウトを実行して参照先を正す方法を試してみたいです。レビュー観点
レビューレベル
レビュー優先度
画像 / 動画
UI 上の変更はありません。
動作確認手順
現環境での動作確認を行うことができません。 本 PR がメインにマージされた後、本テンプレートプロジェクトからリポジトリ作成した際の GitHub Action の結果を確認する必要があります。
備考
上記の対応を行って本問題が修正されていない場合には、revert する PR を作成し、別の対応方針を検討する必要があります。