トップ «前の日記(2023/01/05 (木) ) 最新 次の日記(2023/01/07 (土) )» 編集 RSS feed

HsbtDiary


2023/01/06 (金) [長年日記]

fukabori.fm 86 にゲスト出演した

技術広報とは何か、について自分なりのまとめ - HsbtDiary(2022-12-07) を書いてから fukabori.fm 主催の iwashi さんから、「podcast で続きを〜と書いていましたが、fukabori.fm でこの話どうですか」とお声がけいただいたので、かっちりした考えまでまとまってないけど、こんな感じじゃんすかね〜というのをしゃべってきた。

86. 技術広報 w/ hsbt | fukabori.fm

まだかっちりしたところまで辿り着いてないので、話の前後で同じことを繰り返しているような部分もありますが、大体の雰囲気は伝わったかな、と思います。感想は #fukabori などで話してもらえると拾っていくのでよろしくお願いします。

Ruby 3.2.0 で BASERUBY が存在して Ruby 3.2 未満の場合に rbs/debug gem がインストールされない

タイトルが全てシリーズです。Ruby 3.2.0 をインストールしたら、インストールされるはずの debug や rbs gem がインストールされてない、という報告が来ていて、手元だと何度試してもインストールされるんだけど...というので mame, k0kubun などと手分けして延々と調べていた。

最終的にはタイトルにあるように、BASERUBY として Ruby が検出されて、その Ruby のバージョンが 3.0 とか 2.7 みたいな時に rbs や debug をビルドしてからインストールする手前で全部消してしまう、ということが発生していた。

自分の手元だと、常に Ruby 3.2 とか 3.3 な Ruby がパスにとっているので発生しなかった、ということっぽい。ひとまず、 tarball として作成したパッケージには BASERUBY 的なものは一切不要なので、消してしまう処理を無効にすることで回避はできそう。この辺のパッケージというか、ビルドのツールチェインはほんと複雑でつらぽよ。

Arm Virtual Hardware を動かしてみた

昨年の GitHub Universe 2022 で GitHub が Arm で GitHub Actions できるようにするぞ、という発表をしていて https://resources.github.com/devops/actions/arm-virtual-hardware/ を眺めたところ Actions ですぐ使えるというものではなくて、Actions をトリガーにして Arm Virtual Hardware (AVH) というインスタンスを動かしてタスクを実行するというところまでは理解したので実際にどんなもんか試してみた。

というのも、Ruby では Arm のインスタンスは Ruby CI では 2h に 1 回くらいの実行、Actions は Cirrus CI というのを使っているが、 Actions ではないので通知であるとかノウハウを流用できないということもあってできるなら Actions に一本化したいね、というあたりで AVH がうまく使えないかねえというモチベーション。

で、ドキュメントを眺めつつあれこれ動かしてみたけど、AWS の Cfn の設定と AWS の上に AVH なインスタンスを立ててタスクを実行、インスタンスを落とすなどの処理を記述した yaml を処理する avhclient の組み合わせがまだ beta レベルの出来でなかなか大変だった。現状の結論としては

  • AWS を access key/secret key の IAM を使う時は avhclient-0.1.9 を使う
  • AWS を OIDC の Assume Role で使う時は avhclient-0.1.10 を使う

ということだった。この組み合わせを見つけるのに2hくらいかかった...。ドキュメントに書いてくれ〜。

とりあえず uname -a して落ちるだけの Actions のテストはできたけど、それだけでも 4min とかかかるのでテストをぶん回すという用途だとちょっと大変かもしれない。実際に Ruby のテストを実行するまでたどり着けるかは来週以降に頑張る。