-
Notifications
You must be signed in to change notification settings - Fork 163
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
APPVEYOR_REPO_COMMIT の利用をやめる (APPVEYOR_SHORTHASH も廃止する) #886
APPVEYOR_REPO_COMMIT の利用をやめる (APPVEYOR_SHORTHASH も廃止する) #886
Conversation
この頃は azure pipelines 通ってた。 |
Pull-Requestビルドでも通ってるものがありますね。 履歴を眺めるとPull-Request起因のビルドが軒並みコケてるように見えるので、conditionの条件指定になんらかの想定外要因があるのを疑っています。全部ダメなわけじゃないから違いはなんだ!なんですけどw ちなみにこのPRについては、変更趣旨了解で問題なさそうと判断しています。マクロ定義の入替なので最低限grep確認とかする必要があると思ってて、作業できてないからレビューコメントしてない感じです。 |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
またビルドに失敗している。 |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
486187c
to
40027f5
Compare
40027f5
to
872801b
Compare
rebase しました。レビューお願いします。 |
2256b58 commit に対する有効化条件の誤りを修正 このコミットの意図がよく分らんです。 CAboutDlg に表示する情報の仕様変更にあたると思うんですけど、 たぶん、何か問題がある⇒変えよう、なはずで、 |
ローカルビルドでは、ハッシュが定義されますが これまでのように、ハッシュだけで判断すると GitHub のURL のみ |
なんか問題があるように思えてきました。
この説明だけ読むと、これまで通りハッシュだけで判断できるように、GitHub の URLがないときはハッシュを定義しない をバッチ側に組み込めばよい気がします。 つまり、「sakura_rc.rcへの変更は本質的には必要ない」と読めます。。。 |
表書いてみたけどあまりわかりやすくない。 この PR 前
この PR 後
|
この PR の目的は、 APPVEYOR_REPO_COMMIT は appveyor 環境でしか定義されないものです。 ローカルビルドのとき、あるいは Azure Pipelines ビルドのときは GIT_COMMIT_HASH が APPVEYOR_PULL_REQUEST_HEAD_COMMIT に関しては、Git から情報が取れないので (取り方を知らないので) そのまま使います。 一方 、 GITHUB_COMMIT_URL というのは appveyor の変数 (APPVEYOR_REPO_NAME) に依存しているので現状 appveyor ビルドのときのみ有効になる変数です。定義値が appveyor に依存はしていますが、 GITHUB_COMMIT_URL の変数が使えないからと言って、別に GIT_COMMIT_HASH (ソースツリーのコミットハッシュ) の値が無効になるわけではありません。 それではなぜ APPVEYOR_SHORTHASH の部分を変えるかというと、この PR のもともとの動機である Azure Pipelines に対応準備のため、appveyor の変数に直接依存する部分をなくして、sakura editor で定義した変数に依存するようにして、appveyor の変数に対する参照を隠ぺいして局所化するためです。 |
現状のバージョン表示の仕様に、潜在的な「?」要素が潜んでいたことは分かりました。 とりあえず一旦これで行くか、環境変数の仕様(=何を意味する変数か?)を整理して各変数を個別に再定義して行くか、どちらが良いかを迷っています。 個人的には後者がいいと思っていますが、結構めんどくさそうなのがネック。 バージョン情報として表示する情報である以上、「各変数が何を意味するものか分からん」ということはないと思っています。何を意味する情報かがわかるなら、元ネタとして最低限必要な情報を特定できます。派生情報に当たる部分は環境に依存しない方法で共通化出来ます。 さて、どうしたものか。 |
全体の整理は #821 で行います。 |
|
gitプロトコルを考慮すべきかどうかは要件次第だと思います。 |
|
3cbcfbb
to
be371a7
Compare
だいぶん前のことなのでちょっと問題の内容を書き間違えた。
もともとは そうすると、appveyor では この PR で Azure Pipelines では 単純に |
git checkout master -- sakura_core/sakura_rc.rc git checkout master -- sakura_lang_en_US/sakura_lang_rc.rc
✅ Build sakura 1.0.2063 completed (commit cbf1348762 by @m-tmatma) |
git checkout master -- sakura_core/dlg/CDlgAbout.cpp
ぐちゃぐちゃになったので、動作確認後、PR 作り直します。 方針は
|
✅ Build sakura 1.0.2064 completed (commit 3e6a569248 by @m-tmatma) |
✅ Build sakura 1.0.2066 completed (commit 26d8239661 by @m-tmatma) |
#969 を作成したので、クローズ |
なんかすんません。 このあたりのレスをみて「なんで?」と思いました。
「appveyor では動作が変わらないですがazure pipelinesでは動作が変わる」と言ってるように見えました。それってつまり、本来の目的を達成しとらんような気がするんです。(まぁ、そういうわけじゃないんだと思いますが。 目的: |
azure pipelines や ローカルビルドの振る舞いを変えないための経過措置です 別の PR で azure pipelines 対応します |
↑ #969 の話 |
APPVEYOR_REPO_COMMIT の利用をやめる (APPVEYOR_SHORTHASH も廃止する)
背景
#821 で Azure Pipelines で環境変数の定義を検討中だが、
Azure Pipelinse の Predefined variables では
$(Build.SourceVersion)
(YMLの場合) あるいはBUILD_SOURCEVERSION
(バッチファイルの場合)という appveyor と別の環境変数が割り当てられている。
しかも
git show -s --format=%H
という git コマンドで取得できるので二重管理になっているのでAPPVEYOR_REPO_COMMIT
を利用するのをやめる。同様に
APPVEYOR_SHORTHASH
も 対応するGIT_SHORT_COMMIT_HASH
という変数があるので廃止する2019/06/15 追記
TEMP_GIT_SHORT_COMMIT_HASH と TEMP_GIT_COMMIT_HASH を一時的に導入して
動作を維持するようにしました。
別の PR で GIT_SHORT_COMMIT_HASH と GIT_COMMIT_HASH に名前変更して仕様変更します。
仕様が変更になる点ローカルビルドの場合はAPPVEYOR_REPO_COMMIT
が空だったので zip ファイル名にはcommit hash が含まれなかったが、この PR 後は
GIT_SHORT_COMMIT_HASH
を参照するようになるので Git が有効な場合には zip ファイル名に short hash が含まれるようになる。