発生したこと
突然CIでOpenSSL関連のエラーが出るようになった。
以前CIをとおったコードをReRunしてもエラーがでてしまう。
また、同じコードをローカルでテストすると正常終了する。
切り分け
- ローカルとCIでPHPのVerは一緒
- エラーはOpenSSL関連の箇所で発生
という状況だったのでOpenSSLのVerを確認
# ローカル
$ php --ri openssl | grep Version
OpenSSL Library Version => OpenSSL 1.1.1s 1 Nov 2022
OpenSSL Header Version => OpenSSL 1.1.1s 1 Nov 2022
# CI
$ php --ri openssl | grep Version
OpenSSL Library Version => OpenSSL 3.0.2 15 Mar 2022
OpenSSL Header Version => OpenSSL 3.0.2 15 Mar 2022
対策
ubuntu-22.04 が GA ⚠破壊的変更注意⚠ [GitHub Actions] を参考に
runs-on: ubuntu-latest
を runs-on: ubuntu-20.04
に変更したらOK
補足
OpenSSLが3.0になった場合
openssl_encryptのoptionsにOPENSSL_RAW_DATAを設定していてもOPENSSL_ZERO_PADDINGと同じ結果になってCIがコケてた。
深堀りすると嵌りそうだったので… runs-on: ubuntu-20.04
にして逃げた