stefafafan の fa は3つです

"すてにゃん" こと id:stefafafan のブログです

GitHub Actions の set-output を sed で $GITHUB_OUTPUT 形式に置換

github.blog

という記事を今日みて、 echo "::set-output name=hoge::fuga" みたいなことをやってたのがdeprecatedになると知った。以下のドキュメントを参考に置換すればOKとのことだったので、せっかくなのでsedでやってみた。
https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter

find .github/workflows -type f | xargs sed -i '' -e 's/echo "::set-output name=\(.*\)::\(.*\)"/echo "\1=\2" >> $GITHUB_OUTPUT/g'

ちなみにはじめは sed -i -e とやっていたけどMacでは -i のあとに extension を求めるらしいのでこういう風に空文字列を渡している。

手元のリポジトリではこれでCI通ってるので多分よさそう (幸いoutputsを参照する側は今まで通りの形で維持されていそう)。