sakura
sakura copied to clipboard
githash.batの独自環境変数を分かりやすく再定義したい
(必須) やりたいこと(=実現したいこと)
githash.batで定義している独自の環境変数を分かりやすい名前で再定義したいです。
現状は、以下のようにgithash.bat内でCI独自の環境変数を、独自の環境変数にマップしています。 https://github.com/sakura-editor/sakura/blob/6cc86abce18d8792ce88a114d2a4fbf3c86c3225/sakura/githash.bat#L72-L76
👆の例では CI_REPO_NAME
が独自変数です。
独自変数の値として、appveyor では APPVEYOR_REPO_NAME
を使い、
Azure Pipelines では BUILD_REPOSITORY_NAME
を使うように定義しています。
定義のマッピングをバッチに記述するスタイルの関係上、現在 GitHub Actions には未対応です。
githash.bat が GitHub Actions に未対応である対策として #1664 が出ています。
(省略可) 解決手段の提案
CIには通常、独自の環境変数を定義する機能があります。
- GitHub Actions なら独自環境変数を定義できます。
- Azure Pipelines でも独自環境変数を定義できます。
- Appveyorでさえも独自環境変数を定義できます。
CI環境の構成ファイルで 独自環境変数 CI_REPO_NAME
を定義してやれば良いです。
定義すべき環境変数の数が多いのと、
現状の独自環境変数の変数名がやや分かりにくいのと、
変更結果を表示する CDlgAbout
がテスト不能なのが理由で、
かなり前から放置していました。
対策するには CDlgAbout
をテスト可能にする対応を行うのが正攻法なんですけど、これはちょっち大変な作業かも知れません。
バージョン情報ダイアログに出て欲しい情報をテキトーに見繕って名前を振ってみました。
キー(名前) | 説明 |
---|---|
BUILD_SOURCE_HASH | コミットハッシュ |
BUILD_SOURCE_URL | コミットがpushされている場合のリポジトリへのリンク |
BUILD_SOURCE_TAG | タグビルドの場合のタグ |
BUILD_SOURCE_DIFF | コミットがpushされている場合のsakura/sakura-editor masterとの差分ページへのリンク |
BUILD_VERSION | 累積コミット数 |
CI_BUILD_NAME | ビルド環境を識別する名前 |
CI_BUILD_URL | CIビルドの場合のビルドページへのリンク |
PULL_REQUEST_URL | PRの場合のPRページへのリンク |
現状で定義されている環境変数はこれよりも数が多くて、名前が分かりにくいです。
- BUILD_SOURCE_DIFFは現状にないリンクです。おいらの趣味で「あったらいいな」なので優先度「低」。
- BUILD_VERSIONは #1687 と関連する提案です。現状で各CIのビルド番号を表示しているのを統一してはどうか、という話の一環。
突き合わせてみるとこんな感じ。
キー(名前) | 既存項目で似ている環境変数 |
---|---|
BUILD_SOURCE_HASH | GIT_COMMIT_HASH |
BUILD_SOURCE_URL | GIT_REMOTE_ORIGIN_URL |
BUILD_SOURCE_TAG | GIT_TAG_NAME |
BUILD_SOURCE_DIFF | (新規) |
BUILD_VERSION | (新規) |
CI_BUILD_NAME | (新規) |
CI_BUILD_URL | CI_BUILD_URL |
PULL_REQUEST_URL | GITHUB_PR_HEAD_URL |
誤: CI_BUILD_NAME 正: BUILD_ENV_NAME
ローカルビルドのときに CI_BUILD_*
なのは変だから。