matrixorigin / matrixorigin/matrixone
[Bug]: UT coverage setup action times out during cold Go/JDK provisioning
- Dominant language
- Go
- Stars
- 1.9k
- Forks
- 311
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 768
Description
## Summary
PR #28272 at exact head `075485fdf8113b36bdd39c8ce39840efdea01f46` failed before the UT coverage command started because the reusable coverage action exhausted its setup-phase time budget.
- Source PR: https://github.com/matrixorigin/matrixone/pull/28272
- Workflow run attempt 1: https://github.com/matrixorigin/matrixone/actions/runs/34493451556
- UT coverage producer: https://github.com/matrixorigin/matrixone/actions/runs/34493451556/job/102925963574
- Derived Coverage failure: https://github.com/matrixorigin/matrixone/actions/runs/34493451556/job/102942693428
- Derived CI Required failure: https://github.com/matrixorigin/matrixone/actions/runs/34493451556/job/102945363241
- Reusable workflow revision: `matrixorigin/CI@2ab1af3a85ca3c4e4eab7483201aca3e1913dd99`
- Runner: `amd64-mo-guangzhou-2xlarge16-jvhxs-runner-v79qj`
## Actual behavior
The setup phase began at 15:07:47 UTC. `actions/setup-go@v5` completed successfully only after 548.247 seconds. The following `actions/setup-java@v4` resolved and downloaded JDK 8, began extracting it, and then the enclosing action reached its timeout at 15:17:47 UTC:
```text
##[end-action ... setup-go;outcome=success;duration_ms=548247]
##[start-action display=Set up JDK 8 for x64]
Downloading Java 8.0.504+1 ...
Extracting Java archive...
##[error]The action has timed out.
```
No MatrixOne build, test, coverage-profile, assertion, panic, race, or changed-code coverage verdict ran. The producer reported `external_timeout_or_cancellation`.
The derived Coverage job received `prerequisites_ready: false` and failed with:
```text
coverage merge blocked: a required producer did not publish a complete coverage profile; no coverage verdict was calculated
```
CI Required then failed only because `matrixone-ut-coverage` and the coverage merge failed.
## Expected behavior
Toolchain setup should either use a warm/cached runtime or have a budget that allows cold setup to complete, so transient runner or network latency cannot consume the entire coverage action before tests begin.
## Attribution
PR #28272 does not modify MatrixOne CI workflow/orchestration files, dependency manifests, or toolchain setup. In the same exact-head run, regular Ubuntu UT, shared build, SCA, and both selected BVT jobs passed. The failure is in the protected reusable CI workflow/toolchain provisioning boundary, not MatrixOne product code.
## Steps to reproduce
1. Run MatrixOne ALL CI with a coverage runner that lacks the requested Go/JDK artifacts.
2. Let setup-go consume most of the enclosing setup action budget.
3. Observe setup-java get cancelled at the action timeout before the coverage command starts.
4. Observe the Coverage and CI Required jobs fail transitively because no UT profile exists.
Contributor guide
Assessment
This issue has not been assessed yet.