トップ «前の日記(2025/05/13 (火) ) 最新 次の日記(2025/05/15 (木) )» 編集 RSS feed

HsbtDiary


2025/05/14 (水) [長年日記]

gh cache コマンドを使って Actions から cache を消す

CodeQL の TRAP キャッシュが毎回400Mくらいのサイズでリポジトリのキャッシュを圧迫して本当に残って欲しい vcpkg などのキャッシュが消えて1時間ビルド、みたいなことがあって我慢ならなくなったので gh コマンドを使って消すようにした。

最初に試したのは https://github.com/actions/gh-actions-cache で以下のようなコードで消せるじゃんと試した。

gh actions-cache list --key codeql --order asc --limit 1 |  cut -f 1 | xargs -I{} gh actions-cache delete {} --confirm

ただこれだと gh extension install actions/gh-actions-cache というのを実行する必要があり、これを許可するための permission がむずくて、どうしたもんかなあと悩んでいたら実は今はもう gh cache でそのまま実行できるということだったので、jq を挟んだ以下のようなコードで実現した。

gh cache list --key codeql --order asc --limit 1 --json key --jq '.[].key' | xargs -I{} gh cache delete {}

できたものはこれ https://github.com/ruby/ruby/pull/13330

ひとまず、ワークフローの最後で必ず1つは消すことになっているので、溜まり続けて vcpkg のキャッシュが追い出されるということは無くなった、はず。しばらく様子見で。

JRuby で cgi のテストが動かないのを直した

CGI の引退作業を進めているときに JRuby では一切テストが動かなくなっていたのを直した。

https://github.com/ruby/cgi/pull/68

なぜか JRuby バージョンだと、@@accept_charset の2重定義で死んでいたので、cgi.rb を require した時はとにかく escape なり util をロードしてそこ経由で生やしてしまってから cgi/core.rb などでアクセスするというようにしてみた。

なんとなく、3.4 とかに同梱されている cgi とかち合っているのが問題と思うのでもう少し長期戦で。

gem_server_conformance が head のテストで落ちていたのを直した

https://github.com/rubygems/gem_server_conformance/ という rubygems のテストで使っているライブラリがいつからか Ruby の head、3.5 でテスト通らなくなっているなあというのを見つけたのでサクッと直した。

要は logger が無くなったので rack-protection が落ちた、とかそういうやつだったので依存関係を追加しつつ、関連するライブラリも更新しておいた。ただ sinatra を 4.1 にすると webrick は使えなくなって、しょうがないなと puma にしたらテストが止まる、って感じだったのでそこは無視することにした。