Repository navigation
#680 [ci] CI の隔離の probe が UNVERIFIED・判定なしでも job が success になる - #682
Merged
Kewton merged 1 commit intoOct 16, 2026
Merged
Conversation
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #680
概要
#677(PR #679)で、CI は
dev.tty.legacy_tiocsti=1を設定してから隔離の probe を流し、判定をCOMMANDAGENT_PROBE_VERDICT_FILEに書くようになりました。ただしReport isolation probe verdictsの step は、次の場合も::warning::を出すだけで job を落としませんでした。この PR では、この判定を
scripts/check-probe-verdicts.shに切り出します。上の場合は::error::を出して job を失敗にします。変更の要約
scripts/check-probe-verdicts.sh(新規)COMMANDAGENT_PROBE_VERDICT_FILEを使います。::error::を出して exit 1 で終わります。::error::<行>を出す)dev.tty.legacy_tiocstiを設定できなかった可能性があること(前の step「Enable legacy TIOCSTI for the isolation probes」のログを見るよう案内)sysctl -nで読めればその値、読めなければその旨。sysctl が無い環境でも途中で落ちません。set -euo pipefailです。sudo や sysctl の書き込みはしません。UNVERIFIED を許す仕組み(allowlist や変数)は入れていません。.github/workflows/ci.yml(commandagent-guardrailsの job)Report isolation probe verdictsの step は、bash scripts/check-probe-verdicts.shを呼ぶだけにしました。if: always()とenv:は残しています。Repository acceptance suiteの step、ほかの job は変えていません。tests/probe_verdicts_script.rs(新規)bashで流し、次の 4 通りを確かめます。unverified_verdict_fails_with_error_annotation::error::。dev.tty.legacy_tiocstiの案内empty_verdict_file_fails_with_error_annotation::error::と案内missing_verdict_file_fails_with_error_annotation::error::と案内blocked_only_verdicts_succeed_without_error::error::なし。見出しと内容を表示COMMANDAGENT_PROBE_VERDICT_FILEが設定されていても、結果は変わりません(子の process から外す)。script のパスはCARGO_MANIFEST_DIRから組み立てます。利用者に見える挙動の変化
Report isolation probe verdictsの step が、UNVERIFIED、ファイルなし、空のときに job を落とすようになります。src/)は変えていません。試験の判定(record_unverifiedなど)と、手元のcargo testの挙動も変わりません。手元で判定を失敗にするのは、この script を明示して呼んだときだけです。検証(head
b115c362)commandmate verifypassed 15/15。最後の commit の後、clean です。cargo-zigbuild clippy --all-targets --target x86_64-unknown-linux-gnuexit 0。shellcheck scripts/*.shとactionlint .github/workflows/ci.ymlは exit 0。python の yaml でも読めます(step はif: always()、envは維持、runは script の呼び出しだけ)。cargo test --test probe_verdicts_scriptは 4 passed。exit 1をexit 0にしたunverified_verdict_fails_with_error_annotationexit 1を 4 つともexit 0にした開発の体制
🤖 Generated with Claude Code