fix: skip step-checker in container jobs where _diag is not accessible #53
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.
Problem
The step-checker feature was causing warnings and preventing sticky disk commits in container jobs:
Root Cause:
/__w/inside the container_diagdirectory exists on the host at/home/runner/_diagbut is not mounted into containers_diagand failed, returning an errorImpact:
container:in workflow config)Solution
Add multi-layered container detection that works with both old and new systems:
/.dockerenvfile (docker-specific indicator)/proc/1/cgroupfor docker/containerd (cgroup v1)/__w/(GitHub Actions container mount - works with cgroup v2)When any of these conditions are met, skip the step-checker gracefully since
_diagis not accessible.No changes to existing path detection logic - only adds the container check at the beginning.
Testing
/__w/✓)Verification in VM
Tested in actual container environment:
Related
Based on ClickHouse analysis, this has been affecting the
useblacksmith/webrepo's container verification jobs since the step-checker feature was deployed on November 1st.Note
Adds container detection (/.dockerenv, /proc/1/cgroup, cwd prefix) to skip step-checker when _diag isn’t accessible, and updates tests accordingly.
/.dockerenv,/proc/1/cgroup(docker/containerd), andprocess.cwd().startsWith('/__w/')._diagand return no failures; add debug logs for detected paths.src/step-checker.test.tsto mock container/non-container signals and verify behaviors (no_diag, no logs, JSON/text parsing, error handling, boolean check).dist/index.jsand source map.Written by Cursor Bugbot for commit e1196de. This will update automatically on new commits. Configure here.