OpenSSL3.0のせいでCIがコケるようになった
社内共有用
12月1日に入って、突然社内システムのCIが失敗するようになった
CI/CDにはGitHub Actionsを使っている
Prismaの型生成が何故か失敗してtypecheckでコケてた
何が原因かこのエラーだけでは分からなかったので、
prismaの型生成をGitHub Actions上に明示的に書いてみた
すると、
Error: Unknown binaryTarget debian-openssl-3.0.x and no custom binaries were provided
なんか、OpenSSL3.0関係のエラー出てきた
とりあえず、ggってみた
ドンピシャな記事が出てきた
2つのことが分かった
- Ubuntu22.04からOpenSSL3.0に完全に変わってしまっている
- Prismaの3.13.0より下はOpenSSL3.0に対応していない
Prismaのバージョンがちょっと古めなのは知ってたので、成功していた時のワークフローと失敗したワークフローのnode_modulesを行う時のOSを確認してみた
成功してた時 | 失敗した時 |
---|---|
案の定、12月1日を境にUbuntuのバージョンが変わっていた
Ubuntu-latestをワークフローで使っているため、
最新版に更新された結果、OpenSSL3.0のエラーを踏んだというのがことの発端であるが、
そもそも古いバージョンのPrismaを使っていることに問題があるので、
見つけた記事に従って3.13.0以上にUpgradeしたところ解決した
別件:OpenSSL3.0のせいでデプロイ出来なくなった
自分が作業していた内容ではないが、調査に携わってたので
12月16日にデプロイが出来なくなった
こちらも同じシステムでPrismaのマイグレーションをGitHub Actions上で行っていたときに発生した
この問題は以下のようなエラーが発生していた
こちらも作業者と一緒に調査していたところ、
次のようなことが分かった
どうやら、デプロイに使っていたDocker Imageのnode:alpine
が
latestからOpenSSL3.xしか含まれていないとのこと
こちらも記事に従って、
RUN apk add openssl1.1-compat
をDockerfile内に追記することでデプロイできるようになった