というのが実質あり得ないかと思っていたのだけれど、どういうときにそうなるか?というのに気がついたのでメモ。
続きを読むScala 3のMatch Typesを使って型レベルsort
今までのScala 2だとAux Patternやimplicit色々使って書くようなやつが、3だとこうやって書けるよ、という話。
https://gist.github.com/xuwei-k/924c69482c972d7bac496922ed725f79
でもこれだと、型は生成出来ても、valueOfなどで実際の値が生成できないんだけど、どうすればいいのか少し悩んだけどよくわからなかったので、一旦諦めた・・・。
あと、TupleをHList的に使おうとしたけど、 (1, 2, 3)
が (Int, Int, Int)
になってしまって、いい感じに扱えなかったので、わざわざHListを自作しました。
(Tupleのままいい感じにやる方法、なにかあるのか?)
scalafixを使ってclass名とfile名が異なっているものを自動修正したり警告を出す
というのを作ったので貼っておきます。 細かいところが雑ですが・・・。
Javaだとpublicなclassだと強制的に揃えないといけないですが、良くも悪くもScalaだと自由なので、揃えたい場合には、わざわざこういうのを作らないといけなくて不便。
file名ではなく、class名の方を合わせることによって修正したい場合もありえるでしょうけど、とりあえずfile名強制変更にしてあります。
TODO: packageとdirectory構造の検知と強制移動もやりたい。
https://gist.github.com/xuwei-k/ff0953aeb7624193f02ce26e517075c3
続きを読むscala-stewardの使い方や動かし方の方法一覧
今までいくつかblog書いたが、どういうときに、どの方法使えば良いのか?が明らかにわかりにくいと思ったので、現状のまとめ
あと
https://tarao.hatenablog.com/entry/scala-renovate
scala-stewardを自分でホストするのは面倒だし, かと言ってGitHub Actionsで動くようにするのもそれなりに面倒なようです.
とあり、たしかにそうなんですが、べつに自分でホストしたり、自分でGitHub Actionsで動かす必要ないことも多々あるよ、という話 (とはいえ現状はpublic repoに限るか・・・?)
続きを読むscala-stewardを独自に作ったGitHub App(bot)で動かす方法
結局、デフォルトのGITHUB_TOKENで別のGitHub Actions起動できない問題があるから使いづらい(実質、他のCI併用する場合じゃないと有用じゃない?)けど、これhttps://t.co/uo7COyP2xo
— Kenji Yoshida (@xuwei_k) 2020年11月20日
本体に取り込まれてリリースされてた
というわけで、デフォルトの GITHUB_TOKEN
使う方法以外を模索している最中のメモ。
自動化したpull reqと手動のやつ分けたいが、GitHubは別アカウント作ったらなぜかすぐにspam扱いするし、デフォルトで提供されるGITHUB_TOKEN使ったGitHub Actionsは他を起動不可能な制約があるし、結局自動のやつも自分のTOKEN使うことになり、区別ができなくなるというか草が無駄に水増しされる状態
— Kenji Yoshida (@xuwei_k) 2020年11月17日
多少参考にしたblog
続きを読む今までありがとうTravis CI、さよならTravis CI
しっかり調査してないですが、こういったCIサービスがほぼ存在しない時期にほぼほぼ最初に登場して、一時期明らかにデファクトスタンダードだったと思うので、昔からOSS活動している人ほど、とても多く利用してお世話になっていたと思うので、そういう人であればあるほど、この状況は、怒りではなく、悲しいというか残念というか、辛いと思うんですよね・・・。
続きを読む