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

Appveyor の画面表示が文字化けしている #395

Open
sempreff opened this issue Nov 30, 2024 · 14 comments
Open

Appveyor の画面表示が文字化けしている #395

sempreff opened this issue Nov 30, 2024 · 14 comments

Comments

@sempreff
Copy link
Contributor

概要

Appveyor の履歴ページは

例えば ttxcheckupdate で snapshot の情報も取り扱おうと思っても、解読できません。( #326 )

要望

化けないような内容で記述していただくわけには参りませんでしょうか。

@nmaya
Copy link
Member

nmaya commented Nov 30, 2024

現象

たとえば
https://ci.appveyor.com/project/teraterm/github-snapshot/history
1.0.79 https://ci.appveyor.com/project/teraterm/github-snapshot/builds/51076151
branch = 393-local_echo / hash = 7c731e1b です。

ということは 393-local_echo ブランチの 7c731e1 であり、このコミットメッセージの1行目が Send file 時 local echo 設定を反映するよう修正 #393 です。

AppVeyor ではこれが文字化けして Send file 時 local echo 設定をå��æ˜ ã�™ã‚‹ã‚ˆã�†ä¿®æ­£ #393 と見えています。

対策

  • 日本語のコミットメッセージでも文字化けしない方法(あるのか?)を探す
  • 日本語のコミットメッセージでも文字化けしないよう AppVeyor に要望する
  • すべてのコミットメッセージを英語にする

どれが現実的だと思いますか?

@sempreff
Copy link
Contributor Author

なるほど、そういう挙動なんですね。
「Appveyor でビルドしようとしている commit について、コミットメッセージの1行目を英語で記述する」
とすれば回避できそうに思えます。(外していたらすみません)

@nmaya
Copy link
Member

nmaya commented Nov 30, 2024

コミットの都度、内容を要約した適切な英語表現を考えるのはしんどいです。

ここでは化けていないようです。
https://ci.appveyor.com/project/sakuraeditor/sakura/history
となると、AppVeyor で起動する Windows マシンのロケールあたりが怪しい気がします。

@zmatsuo
Copy link
Member

zmatsuo commented Nov 30, 2024

Windows マシンのロケールあたりが怪しい気がします。

AIの出してきた解答の1つが次のものでした。
なんだか当たりな気がします。

AppVeyorのビルド環境でUTF-8を使用するように設定します。具体的には、AppVeyorの設定ファイル(appveyor.yml)に以下のような設定を追加します。

environment:
  LANG: ja_JP.UTF-8

裏を取ろうと調べていたのですが、まだソースは見つかっていないです。

@nmaya
Copy link
Member

nmaya commented Dec 1, 2024

LANG 環境変数

environment:
  LANG: ja_JP.UTF-8

だめでした。
https://ci.appveyor.com/project/teraterm/github-snapshot/builds/51076151

これは *NIX 環境での指定の仕方に見えます。

chcp

init:
  - chcp 65001

だめでした。
https://ci.appveyor.com/project/teraterm/github-snapshot/builds/51086680

Set-WinSystemLocale ja-JP

cf. https://matsubara0507.github.io/posts/2018-03-04-fix-tasty-discover-windows.html

init:
  - ps: Set-WinSystemLocale ja-JP
  - ps: Start-Sleep -s 5
  - ps: Restart-Computer

だめでしたが、今までとは違う化け方になりました。
https://ci.appveyor.com/project/teraterm/github-snapshot/builds/51086759


いったんお手上げです。


注意が必要だと思うことがあります。
ロケールか何かを変更してコミットメッセージが化ないようにできたとして、その調整が「ヘルプファイルのビルド」「ソースのビルド」に影響しない(問題がない)ことを確認しなければなりません。

@sempreff
Copy link
Contributor Author

sempreff commented Dec 1, 2024

clone fork したリポジトリで試してみています。
参考にした手順は https://github.com/TeraTermProject/teraterm/blob/main/ci_scripts/appveyor.md です。
まだビルド終わっていませんが、今のところ化けていない模様です。
https://ci.appveyor.com/project/sempreff/teraterm/history

@nmaya
Copy link
Member

nmaya commented Dec 1, 2024

Tera Term Project の AppVeyor のプロジェクトでは、使う yml をこのように使い分けています。

  • github-main
    • appveyor_vs2022_bat.yml
  • github-snapshot
    • appveyor_vs2022_bat.yml
  • github-release
    • appveyor_release_bat.yml

github-snapshot, github-main では https://raw.githubusercontent.com/TeraTermProject/teraterm/main/ci_scripts/appveyor_vs2022_bat.yml を使用しています。
AppVeyor ではターゲットとしてブランチを指定しますが、いま main の先端はマージコミットなのでコミットメッセージが日本語ではありません。なので github-snapshot の結果で検証することになりますが、@sempreff さんは bd1a824 をビルドしていて appveyor_vs2022_bat.yml を使っているなら、こちらの使っている yml とは全く差がありません。

もし yml が同一でも文字化けする/しないの違いが起きているとしたら、違うのは AppVeyor のプロジェクトの設定でしょうか?

@sempreff
Copy link
Contributor Author

sempreff commented Dec 1, 2024

Projects の Settings > General の Custome configuration .yml file name には以下の指定をしています。(yml の内容は変更していません)

https://raw.githubusercontent.com/sempreff/teraterm/refs/heads/main/ci_scripts/appveyor_vs2022_bat.yml

Settings > Export YAML で表示される内容は以下の通りです。

version: 1.0.{build}
branches:
  only:
  - 5.3-stable
image: Visual Studio 2022
build:
  verbosity: minimal

Projects の設定のどこかに違いがあるか、Account の設定でしょうか。
Account > Profile で Time zone を (UTC +09:00) Osaka, Sapporo, Tokyo に指定した以外は変更していません。

@nmaya
Copy link
Member

nmaya commented Dec 1, 2024

テスト用に別のプロジェクトを作ってみました。

プロジェクト設定
Project name: github-test
Project URL slug: github-test
Git repository: https://github.com/sempreff/teraterm.git
Custom configuration .yml file name: https://raw.githubusercontent.com/sempreff/teraterm/refs/heads/main/ci_scripts/appveyor_vs2022_bat.yml
アカウント設定
Time zone: (UTC+09:00) Osaka, Sapporo, Tokyo

タイムゾーンは以前からこうなっています。


@sempreff さんのリポジトリを参照するようにしましたが、文字化けしました。
「yml」「リポジトリ」「アカウント設定」をそろえたつもりですが、どこが違うのか見つからないです。

@hkanou
Copy link
Contributor

hkanou commented Dec 4, 2024

私のAppveyor環境も文字化けは起きておりません。
image
私や sempreff さん環境では、「393-local_echo」、「7c731e1b」のリンク先が表示されますが、TeraTermProject環境では、target="_blank" になっていました。

appveyor の Account と Settings の設定値を下記の場所に格納いたしました。https://github.com/hkanou/ttpmacro/raw/refs/heads/main/tmp/appveyor_settings.zip

AppVeyor で起動する Windows マシンのロケールあたりが怪しい気がします。

下記のURLを参考に init: に日本語化の設定をしてみましたが、文字化けが起きていない環境のため効果の有無はわかりませんでした。
https://qiita.com/bibou6/items/0a136bca349050d42b20
https://blog.g-gen.co.jp/entry/localize-windows-server-on-gce

init:
 - ps: Set-WinCultureFromLanguageListOptOut -OptOut $False
 - ps: Set-WinUserLanguageList -LanguageList ja-JP,en-US -Force
 - ps: Set-TimeZone -Id "Tokyo Standard Time"
 - ps: Set-WinHomeLocation 122
 - ps: Set-WinSystemLocale -SystemLocale ja-JP
 - ps: Set-WinUILanguageOverride -Language ja-JP
 - ps: Start-Sleep -s 10
 - ps: Restart-Computer -Force -Confirm:$false

@zmatsuo
Copy link
Member

zmatsuo commented Dec 15, 2024

hkanouさんのinit: も入れて私のAppVeyor環境で試してみました。
ソースGitHubです。
文字化け解消しませんでした。
違いがどこにあるのか見つけられていません。

@hkanou
Copy link
Contributor

hkanou commented Dec 16, 2024

確認頂きありがとうございます。

hkanouさんのinit: も入れて私のAppVeyor環境で試してみました。

効果がなかったようで申し訳ありませんでした。
下記のようにサーバを再起動しています、ビルドが遅くなるのでinit:の処理は無い方が良さそうです。
- ps: Restart-Computer -Force -Confirm:$false

文字化け解消しませんでした。

関係無いかもしれませんが、認証関係の設定も連携させて頂きます。

Source control authorizationsでGitHubアカウントを有効化しています。
organization access → 左ペイン Applications → Authorized OAuth Apps タブで確認すると
下記の3つが有効になっていました。

  • AppVeyor
  • AppVeyor CI
  • Git Credential Manager
FireShot Capture 022 - Source control authorizations - AppVeyor - ci appveyor com FireShot Capture 023 - Connection with AppVeyor CI - github com FireShot Capture 024 - Authorized OAuth Apps - github com

@zmatsuo
Copy link
Member

zmatsuo commented Dec 16, 2024

下記の3つが有効になっていました。

  • AppVeyor
  • AppVeyor CI
  • Git Credential Manager

同じようにしてみました。つぎの4つが有効になりました。

  • AppVeyor
  • AppVeyor CI
  • Git Credential Manager
  • Visual Studio

文字化け状態でした。
🤔

@hkanou
Copy link
Contributor

hkanou commented Dec 16, 2024

同じようにしてみました。つぎの4つが有効になりました。

文字化け状態でした。

お手数をおかけいたしました
何が影響しているのか思いつきません... 😔

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants