#1 - 2022.03.17
GitHubのMarkdownでMermaid.jsの記法でダイアログが書けるようになりました
共有担当: @miyajan
- GitHub でダイアグラムを as code として管理できるようになりました
- Mermaid は JavaScript ベースで Markdown にインスパイアされたダイアグラムやチャートなどを生成するツールです
- About Mermaid
- Live Editor
- OSS だと k8s の公式ドキュメントで使われていたりします
- GitHubで使えるようになった Mermaid の便利なところ
GitHub Actions において JavaScript action で node16 が使えるようになってた
共有担当: @korosuke613
GitHub Actions のアクションの種類の一つに JavaScript action があります。あらかじめ設定しておいた任意の JS を jobs.<job_id>.steps[*].uses
から呼び出せるというものなのですが、これまでは実行ランタイムが Node.js の v12 系しか選択できませんでした。しかし、去年末より Node.js 16 が JavaScript action で利用できるようになっていました。これにより、131, 142, 153, 164 系の機能(Optional chaining、AbortController など)が JavaScript action において利用できるようになりました。
actions.yaml の runs.using
で node16
を指定することでその JavaScript action が Node.js 16 で動きます(参考)。ちなみに、現在指定できるのは node12
と node16
のみです。Node.js 14 (node14
)は指定できません。
Node.js 12 は 2022/04/30 でサポートが終了する予定なので、それに備えた対応と言えます。サポートが切れた途端に Node.js 12 を指定した JavaScript action が使えなくなるということは無いと思いますが、JavaScript action 開発者はサポート終了に備えて早めに Node.js 16 に上げる対応をしておくことをお勧めします5。ちなみに、公式アクションで知られる actions/checkout や actions/setup-node などの actions 配下のアクションは最近軒並み node16
へ変更されていました。
GitHub Actions で internal リポジトリに置いたアクションが共有できるようになりました
共有担当: @miyajan
- GitHub Enterprise Cloud で internal リポジトリに置いたアクションに、同じ Organization(Enterprise) 内の private または internal なリポジトリからアクセスできるようになりました
- これまでアクションを他リポジトリと共有するには public にする必要があったので、組織内でアクションを共有するのが難しかったのですが、共有しやすくなりました
- Organization をまたいでも同じ Enterprise 内なら共有できるのも嬉しいですね
- リポジトリの設定で Organization(Enterprise) 内のリポジトリのワークフローからのアクセスを許可する必要があります
GitHubでMarkdownファイルを開くときに平文表示が可能に
共有担当: @gkzvoice
やってみました。
CircleCIのFreeプランでできることが増えた
共有担当: @korosuke613
CircleCI の Free プランでできることが増えました。例えば、これまで最大1並列でしか実行できなかったジョブが30並列まで同時実行できるようになったり、Freeプランでは使えなかったセルフホストランナーやプライベート Orb、macOS Executor が使えるようになったりできるようになりました。これまで以上にFreeプランでヘビーに使っていけそうという印象です。
ただし、できることが増えただけでなく、ネットワークやストレージが新たに課金対象となった6ため、これまで通りビルドしているとFreeプランでは賄いきれなくなる可能性もあり、注意が必要です。
各プランの比較はこちらのページに載っています。https://circleci.com/ja/pricing/
Docker Desktopの新たな乗り換え候補、Rancher Desktop
共有担当: @ganta0087
Rancher DesktopはDocker Desktopと同様の使い勝手で、GUIからDockerホストとなる仮想マシンのリソースを変更したり、pull済みのイメージの管理などができます。
Apache License 2.0のOSSとして公開されています。
Rancher Desktop自体は2021年5月に登場していましたが、コンテナのランタイムとしてcontainerdにしか対応してしませんでした。
2021年12月になってdockerdにも対応した0.7.0がリリースされ、2022年1月に1.0.0として正式リリースされました。
デフォルトでKubernetesも動作するようになっていますが、2022年3月にリリースされた1.1.0ではKubernetesの有効・無効を選択できるようになりました。
M1 Macにも対応していますが、ネームサーバーの設定に問題があり、ワークアラウンドが必要です。
また、同時起動しなければDocker Desktopと共存できるのですが、クレデンシャルストアの設定が標準でDocker Desktopになっているため、Rancher Desktop利用時はdocker login
が使えなくなります。
これはKeychainを使うように変更すれば動作するようになります。
Serverless Framework が v3 にメジャーアップデート
共有担当: @gkzvoice
v3の機能紹介は Serverless Frameworkのオフィシャルブログ でされているのでそちらをぜひ! ちなみに serverless-dotenv-plugin
というプラグインがv2からv3へバージョンを引き上げたところうまく動かないという事象に遭遇しました、、
Jest互換のテストフレームワークVitestで快適にテストする
共有担当: @akihisa1210
- VitestはJestとの互換性をもつテストフレームワークです。
- 公式のExample集はこちら。ブラウザ上から試せます。
- Viteでビルドを行っていない環境でもVitest単体で導入できます。
- 始めからTypeScriptをサポートしています。
- Viteと併用する場合は設定ファイルが1つにまとまります。
- Jestからの移行を試すときは公式の移行ガイドから。
vitest watch
でVitestを起動し、ファイル変更時にそのファイルにだけテストを流すのが快適です。- Vitestはテストコードの型検査をしません。型検査には別のツールを使いましょう。
We are hiring
Footnotes
-
実際 Node.js 12 のサポートが切れた後に GitHub はどういう対応を取るんですかね。これまでのアクションが動かなくなる事態は避けると思うので、当分 Node.js 12 でも JavaScript action が動くようにはすると思うのですが、さすがにいつかは Node.js 12 で動かなくなるようにするんですかね? ↩
-
公式の発表は見つけられなかったが、よくある質問によると 2022 年 3 月 1 日より有効になる予定とのこと。 https://circleci.com/docs/ja/2.0/faq/#how-do-I-calculate-my-monthly-storage-and-network-costs ↩