Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
355a1e7
contracts(ccpa): v1.27.0 → v1.28.0 — register FALSIFY-CCPA-017 projec…
noahgift May 15, 2026
fc7c656
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 15, 2026
624350c
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 15, 2026
f651296
ci(workspace-test): recover from cancel-in-progress target-dir damage
noahgift May 15, 2026
4c7aaaf
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 15, 2026
6a165a6
ci(workspace-test): expand cancel-damage recovery regex to 3 patterns
noahgift May 15, 2026
62e60b6
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 15, 2026
83154a8
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 15, 2026
1ca1966
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 15, 2026
63f1201
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 15, 2026
6fcd975
ci(workspace-test): OS-level rm -rf + sccache-disabled retry on cance…
noahgift May 15, 2026
d340139
ci(workspace-test): prevent cancel-damage via pre-flight check (not r…
noahgift May 15, 2026
814623f
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 15, 2026
deb22f7
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 15, 2026
767a457
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 15, 2026
a8bf3ce
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 15, 2026
9526527
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 15, 2026
ef5851a
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 15, 2026
3d32792
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 15, 2026
3d30330
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 15, 2026
5fd3fd5
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 15, 2026
b7db9a2
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 15, 2026
6dc1147
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 15, 2026
265a94d
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 15, 2026
413d6c5
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 15, 2026
113cea8
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 16, 2026
6f1d4fd
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 16, 2026
31619f3
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 16, 2026
c6728e4
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 16, 2026
98a1b01
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 16, 2026
ceecebe
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 16, 2026
59aabde
Merge branch 'main' into m190-ccpa017-v1.28.0
noahgift May 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,53 @@ jobs:
sleep "$delay"
delay=$((delay + 6)) # linear backoff: 4,10,16,22,28,34,...
done
- name: Pre-flight target-dir consistency check
# Root cause (five-whys):
# 1. Why does workspace-test sometimes fail with "no such file or
# directory .rcgu.o" / extern location missing / cc-rs can't
# create .o? Cargo's incremental state on the per-PR target
# dir is inconsistent.
# 2. Why inconsistent? A prior run was SIGKILL'd mid-compile and
# left orphan .rmeta files (parts cargo had registered as built)
# without the corresponding .rcgu.o codegen artifacts (which were
# mid-write at the moment of the kill).
# 3. Why was it SIGKILL'd? concurrency.cancel-in-progress (line 22)
# cancels the previous run as soon as a new commit lands on the
# branch (and "Update branch" / strict-up-to-date triggers this
# every time aprender main moves forward).
# 4. Why does this persist? The target dir is bind-mounted from a
# per-PR persistent path /mnt/nvme-raid0/targets/aprender-ci/<PR>/,
# so partial-compile state survives across runs.
# 5. Root cause: cargo's incremental state is not atomic-on-kill, so
# a persistent shared target dir + cancel-in-progress = damage.
# Prevention (this step): BEFORE invoking cargo, check whether the
# immediately-preceding workflow run on this branch was cancelled. If
# yes, rm -rf the target dir contents. This is a one-time check at
# job start — NOT a retry-on-failure pattern (which the operator
# rejects under the "flake is not allowed" directive).
run: |
set -e
if [ -z "${{ github.event.pull_request.number }}" ]; then
echo "Not a PR run; skipping prior-cancel check"
exit 0
fi
# Find the immediately-preceding workflow run on this branch.
# status=completed filter excludes the current in-progress run.
PREV_CONCLUSION=$(gh api \
"repos/${GITHUB_REPOSITORY}/actions/runs?branch=${GITHUB_HEAD_REF}&status=completed&per_page=1" \
--jq '.workflow_runs[0].conclusion' 2>/dev/null || echo "")
echo "Previous run conclusion on ${GITHUB_HEAD_REF}: ${PREV_CONCLUSION:-<none>}"
if [ "$PREV_CONCLUSION" = "cancelled" ]; then
echo "::warning::Previous run was cancelled; nuking target dir to prevent cargo cancel-damage"
docker run --rm \
-v "/mnt/nvme-raid0/targets/aprender-ci/${PR_OR_REF}:/workspace/target" \
"$IMAGE" \
bash -c 'rm -rf /workspace/target/* /workspace/target/.[!.]* 2>/dev/null || true; ls -la /workspace/target/ || true'
else
echo "No cancel damage to clean (prior conclusion: ${PREV_CONCLUSION:-fresh-branch})"
fi
env:
GH_TOKEN: ${{ github.token }}
- name: Workspace lib tests (25,300+)
# Excluded: aprender-gpu (cuBLAS), aprender-cuda-edge (CUDA), aprender-compute (SIMD SIGSEGV at exit)
# Timeout: 75min (was 55, was 40).
Expand Down
Loading
Loading