Skip to content

feat(coverity): support retrying archived uploads - #11591

Open
vvbandeira wants to merge 4 commits into
The-OpenROAD-Project:masterfrom
vvbandeira:coverity-upload-retry
Open

vvbandeira wants to merge 4 commits into
The-OpenROAD-Project:masterfrom
vvbandeira:coverity-upload-retry

Conversation

@vvbandeira

Copy link
Copy Markdown
Member

Coverity can reject initialization after a capture completes. Preserve the source version beside the archive so a later run can upload the same result. Report invalid and failed service responses without leaking jq parse errors.

Coverity can reject initialization after a capture completes. Preserve the
source version beside the archive so a later run can upload the same result.
Report invalid and failed service responses without leaking jq parse errors.

Signed-off-by: Vitor Bandeira <vvbandeira@precisioninno.com>
@vvbandeira
vvbandeira requested a review from a team as a code owner September 30, 2026 14:43

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request refactors the Coverity code coverage script to separate the build capture and upload steps, adding a new upload command to reuse existing archives and improving overall error handling. The test suite is also expanded to cover these new capabilities. The review feedback highlights compatibility issues with the --fail-with-body flag in older versions of curl (prior to 7.76.0), suggesting standard --fail or omitting the flag where appropriate. Additionally, the reviewer recommends adding an explicit check for the presence of jq to prevent confusing error messages if the tool is missing.

Comment thread etc/CodeCoverage.sh Outdated
Comment thread etc/CodeCoverage.sh Outdated
Comment thread etc/CodeCoverage.sh Outdated
Comment thread etc/CodeCoverage.sh
curl added --fail-with-body in 7.76. Ubuntu 20.04 has curl 7.68, so the
upload failed before it sent a request.

The initialization request now has no --fail flag. An HTTP error body
is not valid init JSON, so the jq check in Step 2 rejects it and
reports the body. The upload and enqueue requests use --fail.

Signed-off-by: Vitor Bandeira <vvbandeira@precisioninno.com>
The jq call hides its stderr. When jq was missing, the upload reported
"empty response" instead of the real cause. The check runs after the
skip test, so a scan-only run does not need jq.

Signed-off-by: Vitor Bandeira <vvbandeira@precisioninno.com>
The Bazel CI image does not install jq. Two upload tests failed there
because the script could not parse a valid reply. A third test passed
only by accident. Skip these three tests when jq is missing. The test
for the missing-jq error still runs on all hosts.

Signed-off-by: Vitor Bandeira <vvbandeira@precisioninno.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant