Repository navigation
ci: failed E2E jobs keep the k3s log and node description - #400
Conversation
Three of 49 E2E jobs since k3s moved into a container timed out in Finalize k3s with the node never Ready, and none of them kept anything from k3s. Both E2E jobs now save docker logs k3s and kubectl describe nodes with their other failure logs.
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
|
Codecov Report✅ All modified and coverable lines are covered by tests.
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|



Summary
Since #390 moved k3s into a container, 3 of 49 E2E jobs timed out in "Finalize k3s" because the node never reported Ready within 120 s. The latest were two jobs in one main run, 39175060996. In the other jobs the step takes 0.7 to 11 s. None of the failed jobs kept anything from k3s, so there is no way to tell why the node stayed NotReady, and main goes red until someone reruns it.
Changes
Both E2E jobs' failure steps now also save
docker logs k3sask3s.logandkubectl describe nodesask8s-nodes.login the uploaded logs. kubectl reads the kubeconfig that "Finalize k3s" copies before its wait, so the node description works even when that wait is what failed. cicd.md lists the new files.Type of Change
Test Plan
cd backend && uv run pytest tests/unit)cd frontend && npm run test)docker compose exec -T backend sh -c 'uv sync --group test --no-dev --frozen --no-install-project --no-build && pytest tests/e2e')cd frontend && npm run test:e2e)./deploy.sh openapi, then./deploy.sh types), never edited by handValidation: actionlint passes, and both commands ran against a local k3s container (the node's conditions and 10720 log lines). The steps only run on failure, so this PR's green run won't exercise them.
Checklist
pre-commit run --all-filesand all checks passSummary by cubic
Failed E2E jobs now keep the k3s container log and node description, so timeouts in "Finalize k3s" can be diagnosed instead of rerunning blind.
Both E2E jobs' failure steps now also run
docker logs k3sandkubectl describe nodes, uploading them ask3s.logandk8s-nodes.logwith the existing logs. kubectl reads the kubeconfig that "Finalize k3s" copies before its wait, so the node description works even when that wait is what failed.docs/operations/cicd.mdlists the new files.Written for commit bd12121. Summary will update on new commits.