Closed kmyk closed 4 years ago
cacheの話です
ローカルに持ってくること考えるとpushしたい気持ちになりますが、そもそもキャッシュがよくわからないためどっちがいいのかすらよくわからない
Originally posted by @beet-aizu in https://github.com/kmyk/online-judge-verify-helper/issues/1#issuecomment-559692106
選択肢:
test/{.test.cppのpathなどのmd5sum}
という名前のファイルを作ってタイムスタンプで管理し自動で commit し push
cache.remote.json
みたいなファイルに分かりやすい形式で保存して自動で commit し push1 ファイルにまとめるのがよさそう (消去法)
.verify-helper/cache.local.json
および .verify-helper/cache.remote.json
に次の形式で保存するのがよさそう。失敗したら対応するファイル名は json 中から消すようにしたい。
{"test/segment_tree.yosupo.test.cpp": "2019-11-29T16:08:25+09:00", "test/union_find.aoj.test.cpp": "2019-11-29T16:08:25+09:00", ...}
根拠など:
.verify-helper/
に入れておく。test/
だと、すでにその名前のディレクトリを使ってる人がいそうだし、あまり触っちゃいけない感がでないのでうっかり json を壊して動かなくする人がでてくる@beet-aizu このキャッシュのやつ任せていいですか? よろしくお願いします :pray:
* local と remote の cache は分ける。分けないと git pull とかで conflict が起こる
localでCI回すことはないとしてよくないですか? つまり、timestamp.json 一つにしたいんですが
local で CI を回すことはなくても local で oj-verify
を実行することはあるので、だめです。書いたコードを commit して push する前に local で動作確認したいからです。submit debug はあまり行儀のよいものではない。
そして local と remote で cache が分かれていないと、local での動作確認が conflict だらけで大変になります。
動作確認したいだけならgit stashで戻せばいいだけだと思うんですけど(迷推理)
それが面倒でつらいでしょという主張で、ファイルを分けるだけで解決するのだからファイルを分けて解決したい
これ考えれば考えるほど意味不明なんですがlocalとremoteの同期は手動でやるってことですよね?それこそ面倒だと思うんですけど
いいえ、そもそも同期はしない想定です (local と remote はコンパイラのバージョンなどの環境が異なっていて、その verify 結果を混ぜるべきでないため)
えーまあ僕はその機能を使うことはないと思うんですが使いたいという人がいるのならOKです
https://help.github.com/ja/actions/automating-your-workflow-with-github-actions/caching-dependencies-to-speed-up-workflows#using-the-cache-action こういうのをうまく使うとわざわざpushとかしなくてもよくなったりしないでしょうか?(偶然見つけただけなので、全然違うものかもしれないです)
Originally posted by @yosupo06 in https://github.com/kmyk/online-judge-verify-helper/issues/1#issuecomment-559682589