Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
9 changes: 9 additions & 0 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,15 @@ jobs:
# self-hosted runners from pressure-flake unhandled errors.
RUNNER_ENVIRONMENT: '${{ runner.environment }}'
run: |-
export TMPDIR="${RUNNER_TEMP:-${TMPDIR:-/tmp}}"
if [ "${RUNNER_OS:-}" = "Linux" ]; then
QWEN_CI_TMPDIR="$(mktemp -d /var/tmp/qwen-ci-XXXXXX 2>/dev/null || true)"
if [ -n "$QWEN_CI_TMPDIR" ]; then
TMPDIR="$QWEN_CI_TMPDIR"
export TMPDIR
trap 'rm -rf "$TMPDIR" 2>/dev/null || true' EXIT

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor — observability parity gap

ci.yml follows the identical TMPDIR block with a background disk/memory sampling loop:

( while true; do echo "DFSAMPLE $(date -u +%H:%M:%S 2>/dev/null) tmpdir[${TMPDIR}] space[$(df -h "${TMPDIR}" 2>/dev/null | tail -1)] inodes[$(df -i "${TMPDIR}" 2>/dev/null | tail -1)] memavail[$(awk '/MemAvailable/ {print $2, $3}' /proc/meminfo 2>/dev/null)]" 2>/dev/null; sleep 10; done ) &

The ci.yml comment explains the intent: "Sample the routed temp filesystem every 10s so the failing run captures the spike."

This is not a correctness issue — the routing and cleanup are correct. But if /var/tmp becomes a bottleneck again in an E2E shard, there will be no per-10s disk sample in the job log to diagnose it, unlike the main CI jobs. Consider adding the same monitoring loop here for diagnostic parity.

fi
fi
# The docker leg runs vitest directly instead of through
# test:integration:sandbox:docker: that script would rebuild the image
# the step above just built.
Expand Down
8 changes: 8 additions & 0 deletions scripts/tests/e2e-workflow.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -86,4 +86,12 @@ describe('e2e workflow', () => {
expect(retryStep.env.VERBOSE).toBe('true');
});
});

it('routes Linux E2E scratch files away from /tmp', () => {
const runStep = yml.jobs['e2e-test-linux'].steps.find(
(step) => step.name === 'Run E2E tests',
);
expect(runStep.run).toContain('mktemp -d /var/tmp/qwen-ci-XXXXXX');
expect(runStep.run).toContain('trap \'rm -rf "$TMPDIR"');
});
});
Loading