Buildpacks ステキでした。
これを社内プロジェクトの CI で使うために GitHub Actions の Action にすることを試みました*1。
最初 Docker Action でサクッと作れるだろうとたかを括っていたのですが、よく考えるとコンテナイメージを Docker コンテナ内でビルドするので DinD (Docker in Docker) になってしまいます。かといって JavaScript Action でこういう CLI ラッパーを作るのはやだなぁと思って Docker の公式 dind イメージ使えばなんとかなるんじゃないかと試してみました。
docker/Dockerfile at master · docker-library/docker · GitHub
結果、問題なくイメージがビルドできました。
Marketplace に出すのはもう少し社内プロジェクトで評価してからにします。
2020.6.2 追記
Marketplace に公開しました。
*1:というか社内プロジェクトで使いたいという話でちょっと調べたのでした。