https://ci.appveyor.com/project/sakuraeditor/sakura/build/1.0.49
Build started
Set-WinSystemLocale ja-JP
Start-Sleep -s 5
git clone -q --branch=master https://github.com/sakura-editor/sakura.git C:\projects\sakuraeditor\sakura_1.0.49
fatal: destination path 'C:\projects\sakuraeditor\sakura_1.0.49' already exists and is not an empty directory.
Command exited with code 128
😭
ほぼ分かってない人ですが対策案考えてみました。
こういういう流れな認識です。
やっぱりたまに失敗することが分かった ←ココ
で、エラー発生時のログはこんな感じになってる認識です。
Build started
Set-WinSystemLocale ja-JP
Start-Sleep -s 5
git clone -q --branch=master https://github.com/sakura-editor/sakura.git C:\projects\sakuraeditor\sakura_1.0.49
fatal: destination path 'C:\projects\sakuraeditor\sakura_1.0.49' already exists and is not an empty directory.
Command exited with code 128
よくよく考えてみると、おかしな点があります。
git cloneする前に実行される3行は一体どこから来ているんでしょうか。
appveyor.yml はリポジトリに入っているファイルなのでgit cloneが終わるまで見られません。
見られないはずなんです。
appveyor.ymlが見られてるということは、1回git cloneしてるってことです。
同じ場所を指定して2回目のgit cloneをしたら当然コケます。
コケないほうがおかしいです。
じゃあどうして他のプロジェクトでは問題なくビルドできているんでしょうか・・・
ここからは憶測です。
appveyorにはWebページでビルド環境を設定するインターフェースがあります。
ここには初期化処理(=git cloneする前に行う処理)の指定ができる項目があります。
もし仮に、次のような手順でビルドを行っているとしたら辻褄が合います。
この仮定が正しいとすれば、Webの指定とappveyor.ymlの指定を合わせればgit cloneの問題は起きないことになります。
appveyor.yml はリポジトリに入っているファイルなのでgit cloneが終わるまで見られません。
見られないはずなんです。
appveyor.ymlが見られてるということは、1回git cloneしてるってことです。
同じ場所を指定して2回目のgit cloneをしたら当然コケます。
コケないほうがおかしいです。
clone するのは必須ではないみたいです。
https://teratail.com/questions/14124
clone するのは必須ではないみたいです。
https://teratail.com/questions/14124
wgetだったとして、どこにダウンロードするんでしょうか。
こういう感じのコマンドになるんじゃないですかね?
$> wget -o C:\projects\sakuraeditor\sakura_1.0.49\appveyor.yml https://raw.githubusercontent.com/sakura-editor/sakura/master/appveyor.yml
エラー原因で言われている状況と一致するように見えませんか?
destination path 'C:\projects\sakuraeditor\sakura_1.0.49' already exists and is not an empty
ぼくが言ってるのは可能性の話です。
誰かが答えを持ってるならその通りにしたらいい。
そうじゃないなら可能性を探して潰していくしかないと思います。
確かに .yml 取得のロジックが謎なんですよね……。
それとは別件の話ですが、AppVeyor 実行タイミングが「ブランチ push時」と「PR 操作時」の2か所になっていたのを「ブランチ push時」の1か所のみに絞りました。
なんだか PR 修正時に毎回2回ビルドが走っているのが気になっていたので。
質問しました。
appveyor/ci#2433
返事返ってきた。
Can you try adding another ‘Start-Sleep -s 5’ after the ‘Restart-Computer’ command to give enough time for the clone script to work as expected.
以下チケットが作成された。
appveyor/ci#2435
対応は一旦完了したということでクローズしましょうか。
@m-tmatma さん的にも問題ないという判断であればクローズお願いします。
クローズしたとして、仮にその後また発生するようなことがあれば Reopen しましょう(発生しないことを祈る)
クローズしていいと思いますが、
クローズするタイミングで appveyor/ci#2433 もクローズして
同時に #151 を appveyor に報告しようと思います。
以下を登録しました。
以下をクローズしました。
久々に発生したようなので再オープンします。
https://ci.appveyor.com/project/sakuraeditor/sakura/builds/20877767/job/pg93kigwcs6o7m3w
Build started
git clone -q https://github.com/sakura-editor/sakura.git C:\projects\sakura
git fetch -q origin +refs/pull/689/merge:
fatal: unable to access 'https://github.com/sakura-editor/sakura.git/': OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
Command exited with code 128
今後頻発しないようであれば何も対応せずに閉じてよいかも。
その後頻発していないようなので閉じておきます。
その後発生してないように思うので、閉じておきます。