マイナーリリースの自動リリースについて

87 views
Skip to first unread message

hatatatehaze

unread,
Sep 25, 2017, 8:53:28 AM9/25/17
to WordPress 日本語版作成チーム
こんばんは!

今日、日本語パッケージのマイナーリリースについて、自動リリースをできないのかな?という疑問を #polyglots に投げてみました。
実はWP-CLIのUS版のパッケージに絡む諸々の不具合に関するやり取りの中で、ドイツ語版やスウェーデン、ベトナムなど非常に多くのローカライズパッケージが同時にリリースされていることに気が付きまして、日本語版もできないのかな?と思ったのがことの始まりです。


その結果、現時点ではカスタムプラグインが同梱されているケースではマイナーリリース、メジャーリリースともに自動リリースを利用できないということがわかったのですが、一方で、マイナーリリースに関しては多くの場合セキュリティフィックスが含まれていて、US版とローカライズ版のリリースにタイムラグがあるといろいろ問題があると思われますので、自動リリースが可能なように変更すべきじゃないかとも思っています。

本件に関しては WCEU のコミュニティサミットでも話題にあがったりしてたので、Tracにチケットを立ててということになりました。
そんなわけで以下のチケットを立てましたのでよろしくお願いします。

最終的なゴールとしては自動リリースを使用するには `branched/<mejor-version>/dist` 以下に `wp-content/plugins/wp-multibyte-patch` を置くことで、その後のマイナーリリースにそれらのファイルが自動的に添付されるようになる感じだと思います。

まだ、チケットを開いただけなので今後どうなるかわかりませんが、あらかじめご了承ください。

hatatatehaze

unread,
Sep 25, 2017, 5:06:03 PM9/25/17
to WordPress 日本語版作成チーム
すいません、チケットをMetaのほうで立て直しました。

Tai

unread,
Sep 26, 2017, 5:35:48 AM9/26/17
to WordPress ja-pkg ML
宮さん、ありがとうございます!
チケットウオッチします。

2017年9月26日 6:06 hatatatehaze <hatata...@gmail.com>:
> すいません、チケットをMetaのほうで立て直しました。
> https://meta.trac.wordpress.org/ticket/3163
>
> --
> --
> WordPress 日本語版作成チーム
> http://groups.google.com/group/wp-ja-pkg?hl=ja
> http://ja.wordpress.org/about-wp-ja/
>
> ---
> このメールは Google グループのグループ「WordPress 日本語版作成チーム」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには wp-ja-pkg+...@googlegroups.com
> にメールを送信してください。
> その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。



--
Tai
JOTAKI, "Tai"suke / 上滝 太祐
tek...@gmail.com
http://tekapo.com

Seisuke Kuraishi

unread,
Sep 27, 2017, 4:10:14 AM9/27/17
to wp-j...@googlegroups.com
宮さん、ありがとうございます。

日本語の皆さんは、事情を分かってくださっているようで、リリース自動化と Multibyte Patch の件を分けて意見してくださっているようで助かります。

コアの面々は、ローカルパッケージからローカルコードを排除したいという意思をはじめから持っており、段階的にローカルパッケージに制限を加えてきたという経緯があります。自動リリースができないのもその一環で意図的に制限を設けているものと思われます。また、ご存知の通り彼らは Multibyte Patch をコアに組み込んで無くしてしまいたいという考えも持っており、これらのことから反応は一貫して、Multibyte Patch をコアに取り込めばいいのでは?という意見に帰着します。しかし、Multibyte Patch はそう簡単には組み込めません。

以前関西の WordCamp で話しましたが、WordPress には、解決されていない根本的なマルチバイト、多言語実装の問題があります。

ひとつは、preg 系の文字置換の実装がマルチバイト文字を壊す問題で、Multibyte Patch では、mbstring を必須にして補っていますが、コアではどのようにするべきか長年解決策がでていません。

https://core.trac.wordpress.org/ticket/27733

もうひとつは、ローカル機能のオプション値を翻訳ファイルに保存してしまっている問題で、翻訳ファイルの有無に関わらずローカル機能の正しいオプション値が必要となるケースが有ることから、設計自体が誤りであったということが後に判明したものです。こちらも Multibyte Patch で補っています。

上記2点は、他の言語にも影響する問題であり、Multibyte Patch を組み込む議論以前にコアで解決しておく必要があります。この2点が解決すれば自ずと Multibyte Patch のコードも小さくなることは言うまでもありません。

重要なのは、日本語の Multibyte Patch という小さな視点ではなく、全ローカル言語にとって理想的な設計を考えることだと思いますので、今まで行われてきたような場当たり的なローカル機能の実装は控えるべきだと強く思っています。

本件、ご意見がありましたら、こちらでもいいですし、日本語の slack でお知らせください。

--
Kuraishi

miya

unread,
Sep 27, 2017, 5:40:56 AM9/27/17
to WordPress 日本語版作成チーム
てんぷらさんご無沙汰してます!

 
ひとつは、preg 系の文字置換の実装がマルチバイト文字を壊す問題で、Multibyte Patch では、mbstring を必須にして補っていますが、コアではどのようにするべきか長年解決策がでていません。

https://core.trac.wordpress.org/ticket/27733

この問題、WP-CLIでついこないだかなりコードと格闘したのですが、Unicoe.orgが配布している資料をもとに正規表現を生成しまして、それを使えば解決できる気がします。

以下はその資料:

上の資料を元に生成した正規表現:
https://github.com/wp-cli/php-cli-tools/blob/d2a4e2eca9f1cd62a5d30f192d10f74e73eb3a05/lib/cli/cli.php#L155-L357

mb_*() 関数だと日本語以外のマルチバイトではきちんと機能していないことが判明しておりまして、CLIはラッパー関数を作りました。

 
上記2点は、他の言語にも影響する問題であり、Multibyte Patch を組み込む議論以前にコアで解決しておく必要があります。この2点が解決すれば自ずと Multibyte Patch のコードも小さくなることは言うまでもありません。

この辺りに関しましては、日本語に限らずプラグインによるカスタマイズが入ってるロケールが他にもあることを把握しておりまして、このチケットで言われてるコアに取り込んでしまえば?的なことでは、自動リリース問題は解決しないと僕も思っています。
なので、自動リリースと国際化(マルチバイト対応)はそれぞれ別の問題として話をすすめるようにしぶとく話していくしかないでしょうね。汗

自動リリースに関しては、そのためのソースコードが公開されていないので、ひたすらお願いするしかなくてもどかしいのですが。。。



で、自動リリースの話を進めるにあたって、ドミニクからのリアクションで「ユニットテストやってくれないと無理だよ 」的なコメントがありますが、それに関しましては僕もその通りだと思っています。

そこでこれは僕からの提案なんですが、wp-multibyte-patchをGitHubにホストさせていただくことはできないでしょうか?
ほんとに図々しいお願いで恐縮なんですが、願わくば jawordpressorg のような複数の管理者がいるところに置けるといいかなと思っています。
その後、ユニットテストを実装し(今週中に僕がやります)、Travis CIを使用してWordPressの4.5以降からtrunkバージョンまでユニットテストを自動的に実行するというのはどうですか?


こうすることで、互換性の確認の多くを自動化できますし、コアチームが思っているであろう懸念も払拭できるのではないかと思っています。
もちろん公式ディレクトリへの掲載はこれまで通りてんぷらさんのアカウントで引き続きお願いすることになってしまい、そこは恐縮ですが、本体のメンテナンスはコミュニティでお手伝いできる部分も増えてくると思われます。

もし問題がなければ現状の wp-multibyte-patchのコミット履歴をGitHubにエクスポートするとこまでこちらでやらせていただきます。

以上、よろしくお願いいたします。
また近いうちにぜひゆっくりお話できる機会をつくりたいですね。では!

Seisuke Kuraishi

unread,
Sep 27, 2017, 8:56:04 AM9/27/17
to wp-j...@googlegroups.com
宮さん

ありがとうございます。

> この問題、WP-CLIでついこないだかなりコードと格闘したのですが、Unicoe.orgが配布している資料をもとに正規表現を生成しまして、それを使えば解決できる気がします。

下記にある PCRE 自体のバグについては把握しておりますか?もしも該当箇所をコア全体で直せそうであればお願いします。
この件については Andrew Ozz がもっとも詳しく理解していると思います。

https://core.trac.wordpress.org/ticket/22692

> で、自動リリースの話を進めるにあたって、ドミニクからのリアクションで「ユニットテストやってくれないと無理だよ 」的なコメントがありますが、それに関しましては僕もその通りだと思っています。
>
> そこでこれは僕からの提案なんですが、wp-multibyte-patchをGitHubにホストさせていただくことはできないでしょうか?
> ほんとに図々しいお願いで恐縮なんですが、願わくば jawordpressorg のような複数の管理者がいるところに置けるといいかなと思っています。
> その後、ユニットテストを実装し(今週中に僕がやります)、Travis CIを使用してWordPressの4.5以降からtrunkバージョンまでユニットテストを自動的に実行するというのはどうですか?

今しばらくはどうにも忙しく時間が取れそうにありませんので、落ち着いてからこちらの希望も含めてどうすべきか考えて返答させていただいてもよろしいでしょうか?

ユニットテストは、自動リリースの条件であるなら整えることを考えますが、今まで手動でリリースできていたものを自動リリースにするならユニットテストが必要だと言いだすのは理にかなわないので、私が直接ドミニクから本音を聞いてみたいと思います(彼とは本件についてなんどかやりとりしています)。

最後にお願いなのですが、本件のような日本語パッケージ関係、あるいは、Multibyte Patch が絡みそうなことでアクションを起こす場合は、先にお声をかけていただけないでしょうか?たとえば、今回英語の Slack で宮さんが質問されていたことは私がすべて把握しておりましたので、今までの経緯も含めてお答えすることができたと思います。後者については、今回のように急に話を進められてもタイミングが合わないという場合があります特にお願いいたしたく思います。

--
Kuraishi


On 17/09/27 18:40, miya wrote:
> てんぷらさんご無沙汰してます!
>
>
>
> ひとつは、preg 系の文字置換の実装がマルチバイト文字を壊す問題で、Multibyte Patch では、mbstring を必須にして補っていますが、コアではどのようにするべきか長年解決策がでていません。
>
> https://core.trac.wordpress.org/ticket/27733 <https://core.trac.wordpress.org/ticket/27733>
> --
> --
> WordPress 日本語版作成チーム
> http://groups.google.com/group/wp-ja-pkg?hl=ja
> http://ja.wordpress.org/about-wp-ja/
>
> ---
> このメールは Google グループのグループ「WordPress 日本語版作成チーム」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには wp-ja-pkg+...@googlegroups.com <mailto:wp-ja-pkg+...@googlegroups.com> にメールを送信してください。
> その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

Mayuko Moriyama

unread,
Sep 27, 2017, 12:13:20 PM9/27/17
to wp-j...@googlegroups.com
こんにちは!森山です。(遅くにすいません)

宮さんのチケットを拝見して、てんぷらさんがメールで指摘されていたチケットと、
「今てんぷらさんは忙しいそうなのでゆっくり話したほうがいいんじゃないか?」ということ、
それからほかの言語はどうするのか?ということをコメントしてきました。

@sergeybiryukov さんからすぐにお返事がきまして、チケット、見てくれるみたいです。
(片方は解決済みという認識のようなので、指摘が必要そうです)

リリースリーダーのみなさんいつも手動リリース、ありがとうございます。
私は技術的な話はあまりわかりませんし、できることは少ないですが
代わりに trac で書く、とか、何かお手伝いできることがありましたらお知らせください。

もりやま

2017年9月27日 21:55 Seisuke Kuraishi <210...@gmail.com>:
このグループから退会し、グループからのメールの配信を停止するには wp-ja-pkg+unsubscribe@googlegroups.com <mailto:wp-ja-pkg+unsubscribe@googlegroups.com> にメールを送信してください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

--- このメールは Google グループのグループ「WordPress 日本語版作成チーム」の登録者に送られています。

このグループから退会し、グループからのメールの配信を停止するには wp-ja-pkg+unsubscribe@googlegroups.com にメールを送信してください。
その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。

miya

unread,
Sep 27, 2017, 4:05:14 PM9/27/17
to WordPress 日本語版作成チーム
てんぷらさん

宮内です。


ユニットテストは、自動リリースの条件であるなら整えることを考えますが、今まで手動でリリースできていたものを自動リリースにするならユニットテストが必要だと言いだすのは理にかなわないので、私が直接ドミニクから本音を聞いてみたいと思います(彼とは本件についてなんどかやりとりしています)。

よろしくお願いいたします!
 
最後にお願いなのですが、本件のような日本語パッケージ関係、あるいは、Multibyte Patch が絡みそうなことでアクションを起こす場合は、先にお声をかけていただけないでしょうか?たとえば、今回英語の Slack で宮さんが質問されていたことは私がすべて把握しておりましたので、今までの経緯も含めてお答えすることができたと思います。後者については、今回のように急に話を進められてもタイミングが合わないという場合があります特にお願いいたしたく思います。

そうですね。以降気を付けます! 

Seisuke Kuraishi

unread,
Sep 28, 2017, 9:55:49 PM9/28/17
to wp-j...@googlegroups.com
森山さん、ありがとうございます。

考えをなんとかまとめることができたら私もそちらにコメントいたしますね。

> (片方は解決済みという認識のようなので、指摘が必要そうです)

そちらは PCRE 自体のバグについての情報がまとまっているチケットですね。たぶん開発者の中でも忘れている方がいると思うので。

--
Kuraishi


On 17/09/28 1:13, Mayuko Moriyama wrote:
> こんにちは!森山です。(遅くにすいません)
>
> 宮さんのチケットを拝見して、てんぷらさんがメールで指摘されていたチケットと、
> 「今てんぷらさんは忙しいそうなのでゆっくり話したほうがいいんじゃないか?」ということ、
> それからほかの言語はどうするのか?ということをコメントしてきました。
>
> @sergeybiryukov さんからすぐにお返事がきまして、チケット、見てくれるみたいです。
> (片方は解決済みという認識のようなので、指摘が必要そうです)
>
> リリースリーダーのみなさんいつも手動リリース、ありがとうございます。
> 私は技術的な話はあまりわかりませんし、できることは少ないですが
> 代わりに trac で書く、とか、何かお手伝いできることがありましたらお知らせください。
>
> もりやま
>
> 2017年9月27日 21:55 Seisuke Kuraishi <210...@gmail.com <mailto:210...@gmail.com>>:
>
> 宮さん
>
> ありがとうございます。
>
> この問題、WP-CLIでついこないだかなりコードと格闘したのですが、Unicoe.orgが配布している資料をもとに正規表現を生成しまして、それを使えば解決できる気がします。
>
>
> 下記にある PCRE 自体のバグについては把握しておりますか?もしも該当箇所をコア全体で直せそうであればお願いします。
> この件については Andrew Ozz がもっとも詳しく理解していると思います。
>
> https://core.trac.wordpress.org/ticket/22692 <https://core.trac.wordpress.org/ticket/22692>
>
> で、自動リリースの話を進めるにあたって、ドミニクからのリアクションで「ユニットテストやってくれないと無理だよ 」的なコメントがありますが、それに関しましては僕もその通りだと思っています。
>
> そこでこれは僕からの提案なんですが、wp-multibyte-patchをGitHubにホストさせていただくことはできないでしょうか?
> ほんとに図々しいお願いで恐縮なんですが、願わくば jawordpressorg のような複数の管理者がいるところに置けるといいかなと思っています。
> その後、ユニットテストを実装し(今週中に僕がやります)、Travis CIを使用してWordPressの4.5以降からtrunkバージョンまでユニットテストを自動的に実行するというのはどうですか?
>
>
> 今しばらくはどうにも忙しく時間が取れそうにありませんので、落ち着いてからこちらの希望も含めてどうすべきか考えて返答させていただいてもよろしいでしょうか?
>
> ユニットテストは、自動リリースの条件であるなら整えることを考えますが、今まで手動でリリースできていたものを自動リリースにするならユニットテストが必要だと言いだすのは理にかなわないので、私が直接ドミニクから本音を聞いてみたいと思います(彼とは本件についてなんどかやりとりしています)。
>
> 最後にお願いなのですが、本件のような日本語パッケージ関係、あるいは、Multibyte Patch が絡みそうなことでアクションを起こす場合は、先にお声をかけていただけないでしょうか?たとえば、今回英語の Slack で宮さんが質問されていたことは私がすべて把握しておりましたので、今までの経緯も含めてお答えすることができたと思います。後者については、今回のように急に話を進められてもタイミングが合わないという場合があります特にお願いいたしたく思います。
>
> --
> Kuraishi
>
>
> On 17/09/27 18:40, miya wrote:
>
> てんぷらさんご無沙汰してます!
>
>
>
> ひとつは、preg 系の文字置換の実装がマルチバイト文字を壊す問題で、Multibyte Patch では、mbstring を必須にして補っていますが、コアではどのようにするべきか長年解決策がでていません。
>
> https://core.trac.wordpress.org/ticket/27733 <https://core.trac.wordpress.org/ticket/27733> <https://core.trac.wordpress.org/ticket/27733 <https://core.trac.wordpress.org/ticket/27733>>
>
>
>
> この問題、WP-CLIでついこないだかなりコードと格闘したのですが、Unicoe.orgが配布している資料をもとに正規表現を生成しまして、それを使えば解決できる気がします。
>
> 以下はその資料:
> http://www.unicode.org/Public/10.0.0/ucd/EastAsianWidth.txt <http://www.unicode.org/Public/10.0.0/ucd/EastAsianWidth.txt>
>
> 上の資料を元に生成した正規表現:
> https://github.com/wp-cli/php-cli-tools/blob/master/lib/cli/unicode/regex.php <https://github.com/wp-cli/php-cli-tools/blob/master/lib/cli/unicode/regex.php>
>
> 実装:
> https://github.com/wp-cli/php-cli-tools/blob/d2a4e2eca9f1cd62a5d30f192d10f74e73eb3a05/lib/cli/cli.php#L155-L357 <https://github.com/wp-cli/php-cli-tools/blob/d2a4e2eca9f1cd62a5d30f192d10f74e73eb3a05/lib/cli/cli.php#L155-L357>
>
> mb_*() 関数だと日本語以外のマルチバイトではきちんと機能していないことが判明しておりまして、CLIはラッパー関数を作りました。
>
>
>
> 上記2点は、他の言語にも影響する問題であり、Multibyte Patch を組み込む議論以前にコアで解決しておく必要があります。この2点が解決すれば自ずと Multibyte Patch のコードも小さくなることは言うまでもありません。
>
>
> この辺りに関しましては、日本語に限らずプラグインによるカスタマイズが入ってるロケールが他にもあることを把握しておりまして、このチケットで言われてるコアに取り込んでしまえば?的なことでは、自動リリース問題は解決しないと僕も思っています。
> なので、自動リリースと国際化(マルチバイト対応)はそれぞれ別の問題として話をすすめるようにしぶとく話していくしかないでしょうね。汗
>
> 自動リリースに関しては、そのためのソースコードが公開されていないので、ひたすらお願いするしかなくてもどかしいのですが。。。
>
>
>
> で、自動リリースの話を進めるにあたって、ドミニクからのリアクションで「ユニットテストやってくれないと無理だよ 」的なコメントがありますが、それに関しましては僕もその通りだと思っています。
>
> そこでこれは僕からの提案なんですが、wp-multibyte-patchをGitHubにホストさせていただくことはできないでしょうか?
> ほんとに図々しいお願いで恐縮なんですが、願わくば jawordpressorg のような複数の管理者がいるところに置けるといいかなと思っています。
> その後、ユニットテストを実装し(今週中に僕がやります)、Travis CIを使用してWordPressの4.5以降からtrunkバージョンまでユニットテストを自動的に実行するというのはどうですか?
>
>
> こうすることで、互換性の確認の多くを自動化できますし、コアチームが思っているであろう懸念も払拭できるのではないかと思っています。
> もちろん公式ディレクトリへの掲載はこれまで通りてんぷらさんのアカウントで引き続きお願いすることになってしまい、そこは恐縮ですが、本体のメンテナンスはコミュニティでお手伝いできる部分も増えてくると思われます。
>
> もし問題がなければ現状の wp-multibyte-patchのコミット履歴をGitHubにエクスポートするとこまでこちらでやらせていただきます。
>
> 以上、よろしくお願いいたします。
> また近いうちにぜひゆっくりお話できる機会をつくりたいですね。では!
>
> --
> --
> WordPress 日本語版作成チーム
> http://groups.google.com/group/wp-ja-pkg?hl=ja <http://groups.google.com/group/wp-ja-pkg?hl=ja>
> http://ja.wordpress.org/about-wp-ja/ <http://ja.wordpress.org/about-wp-ja/>
>
> ---
> このメールは Google グループのグループ「WordPress 日本語版作成チーム」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには wp-ja-pkg+...@googlegroups.com <mailto:wp-ja-pkg%2Bunsu...@googlegroups.com> <mailto:wp-ja-pkg+...@googlegroups.com <mailto:wp-ja-pkg%2Bunsu...@googlegroups.com>> にメールを送信してください。
> その他のオプションについては https://groups.google.com/d/optout <https://groups.google.com/d/optout> にアクセスしてください。
>
>
> --
> --
> WordPress 日本語版作成チーム
> http://groups.google.com/group/wp-ja-pkg?hl=ja <http://groups.google.com/group/wp-ja-pkg?hl=ja>
> http://ja.wordpress.org/about-wp-ja/ <http://ja.wordpress.org/about-wp-ja/>
>
> --- このメールは Google グループのグループ「WordPress 日本語版作成チーム」の登録者に送られています。
>
> このグループから退会し、グループからのメールの配信を停止するには wp-ja-pkg+...@googlegroups.com <mailto:wp-ja-pkg%2Bunsu...@googlegroups.com> にメールを送信してください。
> その他のオプションについては、https://groups.google.com/d/optout <https://groups.google.com/d/optout> にアクセスしてください。
>
>
> --
> --
> WordPress 日本語版作成チーム
> http://groups.google.com/group/wp-ja-pkg?hl=ja
> http://ja.wordpress.org/about-wp-ja/
>
> ---
> このメールは Google グループのグループ「WordPress 日本語版作成チーム」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには wp-ja-pkg+...@googlegroups.com <mailto:wp-ja-pkg+...@googlegroups.com> にメールを送信してください。
> その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

Reply all
Reply to author
Forward
0 new messages