Skip to content

Instantly share code, notes, and snippets.

@ganta
Created March 8, 2022 07:18
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ganta/661ee5bb79746563a410a64833b80351 to your computer and use it in GitHub Desktop.
Save ganta/661ee5bb79746563a410a64833b80351 to your computer and use it in GitHub Desktop.
Cybozu Productivity News 2022.03.17 - Show notes

Show Notes

共有担当: @miyajan

共有担当: @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.usingnode16 を指定することでその JavaScript action が Node.js 16 で動きます(参考)。ちなみに、現在指定できるのは node12node16 のみです。Node.js 14 (node14)は指定できません。

Node.js 12 は 2022/04/30 でサポートが終了する予定なので、それに備えた対応と言えます。サポートが切れた途端に Node.js 12 を指定した JavaScript action が使えなくなるということは無いと思いますが、JavaScript action 開発者はサポート終了に備えて早めに Node.js 16 に上げる対応をしておくことをお勧めします5。ちなみに、公式アクションで知られる actions/checkoutactions/setup-node などの actions 配下のアクションは最近軒並み node16 へ変更されていました。

共有担当: @miyajan

  • GitHub Enterprise Cloud で internal リポジトリに置いたアクションに、同じ Organization(Enterprise) 内の private または internal なリポジトリからアクセスできるようになりました
    • これまでアクションを他リポジトリと共有するには public にする必要があったので、組織内でアクションを共有するのが難しかったのですが、共有しやすくなりました
    • Organization をまたいでも同じ Enterprise 内なら共有できるのも嬉しいですね
  • リポジトリの設定で Organization(Enterprise) 内のリポジトリのワークフローからのアクセスを許可する必要があります

共有担当: @gkzvoice

やってみました。

共有担当: @korosuke613

CircleCI の Free プランでできることが増えました。例えば、これまで最大1並列でしか実行できなかったジョブが30並列まで同時実行できるようになったり、Freeプランでは使えなかったセルフホストランナーやプライベート Orb、macOS Executor が使えるようになったりできるようになりました。これまで以上にFreeプランでヘビーに使っていけそうという印象です。

ただし、できることが増えただけでなく、ネットワークやストレージが新たに課金対象となった6ため、これまで通りビルドしているとFreeプランでは賄いきれなくなる可能性もあり、注意が必要です。

各プランの比較はこちらのページに載っています。https://circleci.com/ja/pricing/

共有担当: @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を使うように変更すれば動作するようになります。

共有担当: @gkzvoice

v3の機能紹介は Serverless Frameworkのオフィシャルブログ でされているのでそちらをぜひ! ちなみに serverless-dotenv-plugin というプラグインがv2からv3へバージョンを引き上げたところうまく動かないという事象に遭遇しました、、

共有担当: @akihisa1210

  • VitestはJestとの互換性をもつテストフレームワークです。
    • (注意)Vitestは開発中のツールで、本番環境での使用はまだ推奨されていません。
    • 公式サイト
    • 紹介動画
  • 公式のExample集はこちら。ブラウザ上から試せます。
  • Viteでビルドを行っていない環境でもVitest単体で導入できます。
    • 始めからTypeScriptをサポートしています。
    • Viteと併用する場合は設定ファイルが1つにまとまります。
  • Jestからの移行を試すときは公式の移行ガイドから。
  • vitest watchでVitestを起動し、ファイル変更時にそのファイルにだけテストを流すのが快適です。
  • Vitestはテストコードの型検査をしません。型検査には別のツールを使いましょう。

We are hiring

サイボウズの開発者の生産性を上げる「生産性向上チーム」とは!?

Footnotes

  1. 参考 Node.js v13の主な変更点 - 別にしんどくないブログ

  2. 参考 Node.js v14の主な変更点 - 別にしんどくないブログ

  3. 参考 Node.js v15の主な変更点 - 別にしんどくないブログ

  4. 参考 Node.js v16の主な変更点 - 別にしんどくないブログ

  5. 実際 Node.js 12 のサポートが切れた後に GitHub はどういう対応を取るんですかね。これまでのアクションが動かなくなる事態は避けると思うので、当分 Node.js 12 でも JavaScript action が動くようにはすると思うのですが、さすがにいつかは Node.js 12 で動かなくなるようにするんですかね?

  6. 公式の発表は見つけられなかったが、よくある質問によると 2022 年 3 月 1 日より有効になる予定とのこと。 https://circleci.com/docs/ja/2.0/faq/#how-do-I-calculate-my-monthly-storage-and-network-costs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment