sakura
sakura copied to clipboard
appveyor でテストに失敗した場合でも artifacts を収集できるようにする
appveyor でテストに失敗した場合でも artifacts を収集できるようにする。 https://github.com/sakura-editor/sakura/issues/628#issuecomment-440504687
https://github.com/sakura-editor/sandbox/pull/7 でテストに失敗した場合でも artifacts の収集を行う実験に成功した。 技術的に実現できそう。
ポイントは、appveyor PushArtifact <file_name>
のコマンドをビルド、テスト用のバッチファイルの中から実行すればよい。
参考: https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts
ワイルドカードは使えないみたい。 https://ci.appveyor.com/project/sakuraeditor/sandbox/builds/20491766/job/7xtoquaji6my6gk9
https://www.appveyor.com/docs/build-worker-api/#push-artifact にあるコマンドラインオプションを使って
https://ci.appveyor.com/project/sakuraeditor/sandbox/builds/20491931/job/uyqwni0knsavcp7v のように、
appveyor PushArtifact test.txt -FileName test-new.txt -DeploymentName "Deploy tag"
という指定の仕方をすると、以下のような意味になる。
appveyor 上のローカルファイル名 : test.txt
appveyor 上で artifacts として公開するファイル名 : test-new.txt
appveyor 上で artifacts につける Deplyment name : Deploy tag
あらためて見直してみて「何故そうしたいのか?」が分からんことに気付きました。
この PR の目的が達成される。
↓
テストで何らかのNGが見つかったビルドのバイナリが「ダウンロードできる」ようになる。
こうなると嬉しいこと(=メリット)があるから、そうしたいって issue なんだと思います。 問題のあるバイナリを公開することは、それ自体がデメリットだと思います。 ただ、デメリットを上回るようなメリットがあるならやってもええかな?とも思いますけれど。
テストで何らかのNGが見つかったのなら、そのバイナリはダウンロードできるべきでないと個人的には思います。 無論、テストのほうが誤ってる場合は除く :smiley: