Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Azure Pipelinesの不要な警告メッセージを削減する #1765

Merged
1 commit merged into from Jan 23, 2022
Merged

Azure Pipelinesの不要な警告メッセージを削減する #1765

1 commit merged into from Jan 23, 2022

Conversation

ghost
Copy link

@ghost ghost commented Jan 14, 2022

PR の目的

Azure Pipelines の警告メッセージを削減します。

カテゴリ

  • ビルド関連
    • Azure Pipelines

PR の背景

Azure Pipelines でこんな警告メッセージが出ています。

##[warning]Directory 'D:\a\1\a' is empty. Nothing will be added to build artifact 'Win32_Debug'.

このメッセージはDebug版のビルドとMinGWのビルドで出ていますが、過去の経緯と動作を踏まえると意図したものだと考えられるため、出力させるのは無用だと思いました。

PR のメリット

余計な警告メッセージが減ります。

PR のデメリット (トレードオフとかあれば)

仕様・動作説明

Visual Studioでのビルドジョブ

#1403 以降、CIの成果物作成はRelease版に限定されています。
このため、ビルド過程で作成された実行ファイルやログなどを圧縮ファイルにまとめるバッチ処理はRelease版のビルドでのみ実行されるように設定されています。

一方で、そのバッチ処理で作成された圧縮ファイルをアップロードする処理の実行条件が変更されなかったため、Publishタスクの実行で「対象が存在しない」という状況が生じていました。

このPRで成果物をステージングディレクトリにコピーするタスクと、そのディレクトリからアップロードするタスクの実行もRelease版に限定するよう条件を見直します。

MinGWでのビルドジョブ

CIでのMinGWビルドは #494 で導入されたものですが、当時から成果物は作成せずビルドのみ行うことになっているようです。
作成しないにもかかわらず、コピータスクとアップロードタスクを実行していたため同様の状況が生じていました。

このPRでこれらの不必要なタスクの利用を一旦取りやめます。

PR の影響範囲

Azure Pipelinesの次のジョブ

  • VS2017
  • VS2019
  • MinGW

テスト内容

Azure Pipelinesの実行結果で上記の警告メッセージが表示されないこと。

関連 issue, PR

#1487 … 似たような案件

参考資料

@ghost ghost added the azure pipelines label Jan 14, 2022
@ghost

This comment has been minimized.

@berryzplus
Copy link
Contributor

Artifactのコピータスクは、もともとAppveyorで作成したバッチを流用する目的で書かれたものと思われます。
ビルド処理以外は、個々のCIの特性に合わせて「何ができるか?」を考えていくべきと思います。
azpやghaの導入提案はあくまで「暫定」なので、改善提案は出てきて当然です。

内容が「方針どうする?」系なので、ちょっと様子見します。

@ghost
Copy link
Author

ghost commented Jan 16, 2022

ビルド処理以外は、個々のCIの特性に合わせて「何ができるか?」を考えていくべき

ドキュメントの記述から、こんな書き方ができるのではないかと思いました。

steps:
- script: |
    mkdir $(System.DefaultWorkingDirectory)\build\Logs
    copy /Y msbuild-*.log $(System.DefaultWorkingDirectory)\build\Logs

- publish: $(System.DefaultWorkingDirectory)\build\Logs
  artifact: sakura-logs

ちょっと考えてみます。

@ghost ghost marked this pull request as draft January 16, 2022 08:20
@berryzplus
Copy link
Contributor

なんか成果物を残す方向の検討が始まってます?

このPRの趣旨は
「なんか警告が出てる」→「調べてみたら問題なさそうだった」→「じゃ、消しませんか?」
だと思っています。

CIの特性に合わせて「何ができるか?」をここで考え始めると、元の趣旨からズレていくような気がしました。

@ghost
Copy link
Author

ghost commented Jan 18, 2022

「MinGWビルドにおける成果物関係タスクの利用停止」はリファクタリング案件として扱えるため、撤回して別途対応することにしました。

@ghost ghost marked this pull request as ready for review January 18, 2022 04:50
@ghost
Copy link
Author

ghost commented Jan 23, 2022

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@ghost
Copy link
Author

ghost commented Jan 23, 2022

レビューありがとうございました。マージします。
CIにおける成果物の取り扱いはまだ改善の余地があると思いますので、引き続き検討します。

@ghost ghost merged commit b830ed1 into sakura-editor:master Jan 23, 2022
@ghost ghost deleted the feature/fix_azp_empty_directory_warnings branch January 23, 2022 07:27
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant