Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR の目的
githash.bat を GitHub Actions に対応させます。
カテゴリ
PR の背景
#1630 でバッチファイルを確認していた際、 githash.bat が GitHub Actions に対応していないことに気が付きました。
経緯を調査したところ、 #1259 にて GitHub Actions を導入した際の残件であり、現在に至るまで対応が行われていません。
(以下、 #1259 の本文より引用)
この PR で上記のうち「各種環境変数への対応」を行い、 GitHub Actions でのビルドにおいても必要な環境変数が設定されるようにします。
PR のメリット
PR のデメリット (トレードオフとかあれば)
仕様・動作説明
GitHub Actions の環境変数では、プルリクエストの番号とコミットハッシュが提供されません。
対策として、 PR によるワークフローの実行時に Webhook ペイロードオブジェクトからこれらの情報を取得し、次の環境変数にセットして代替とします。
なお、 PR 以外の Action 実行時は空文字列がセットされます。
各ジョブの MSBuild ステップにて実行される githash.bat では、 GitHub Actions が提供する環境変数と上記の環境変数からビルドに必要な環境変数を生成し、その値を githash.h として出力します。
GIT_COMMIT_URL
GITHUB_PR_HEAD_URL
CI_BUILD_URL
CI_BUILD_URL
true
)GITHUB_PR_HEAD_URL
CI_BUILD_URL
GITHUB_PR_HEAD_URL
CI_BUILD_URL
GITHUB_PR_HEAD_URL
GITHUB_PR_HEAD_SHORT_COMMIT
GITHUB_PR_HEAD_URL
また、プロジェクト名に相当する情報( APPVEYOR_PROJECT_SLUG に相当する情報)も提供されませんが、 CI_BUILD_URL の生成にはこの情報がなくても支障がないことから代替策は用意していません。
githash.bat が生成するヘッダファイルには依然として AppVeyor の環境変数が出力されるようになっていましたが、今回コンソールに出力される内容を調整する一環として廃止しています(今後本体側コードで使用する予定があればお申し出ください)。
なお、この PR では #1190 で言及された次の変更は行っていません。リクエストがあれば別途対応しますのでお申し出ください。
定義:
set GIT_TAG_URL=%PREFIX_GITHUB%/%CI_REPO_NAME%/tree/%GIT_TAG_NAME%
PR の影響範囲
( CI ビルドにおける) githash.h の生成プロセス
テスト内容
githash.bat のコンソール出力内容、生成されたヘッダファイル、成果物のファイル名を確認します。
関連 issue, PR
#1259 GitHub Actions を導入
#1271 残件対応①:ヘルプとインストーラのビルド
#1285 残件対応②:成果物を個別に Zip ファイル化
参考資料