Skip to content

ci(owasp): cap job timeout and disable NVD auto-update in check step#1807

Merged
lukaszlenart merged 2 commits into
mainfrom
ci/owasp-timeout-fix
Jul 22, 2026
Merged

ci(owasp): cap job timeout and disable NVD auto-update in check step#1807
lukaszlenart merged 2 commits into
mainfrom
ci/owasp-timeout-fix

Conversation

@lukaszlenart

@lukaszlenart lukaszlenart commented Jul 22, 2026

Copy link
Copy Markdown
Member

Problem

The OWASP checkup workflow fails intermittently, sometimes with no reason other than timeouts (as seen in #1667). Root cause is external: the NIST NVD feed is unreliable (see dependency-check#8633) — even with an API key the update can exhaust its retries and fail, and without one it is heavily rate-limited and stalls.

Contributing config issues:

  1. The job had no timeout, so a hung NVD download dragged toward the 6-hour GitHub Actions default.
  2. The OWASP check step carried neither the mirror datafeed URL nor the API key, so on cache staleness/miss it synced directly against NIST.
  3. The mirror datafeed was used only when no API key was present, so apache/struts always took the flaky API path and never fell back to the mirror.

Changes

  • timeout-minutes: 30 on the owasp job so a stuck download fails fast.
  • -DautoUpdate=false on the check step so it reads only the NVD cache populated by the update-only step, never phoning NIST directly.
  • Mirror fallback: the API-key update step is now continue-on-error, and the mirror datafeed update runs when no API key is configured or when the API update fails. This makes the reliable mirror the automatic fallback instead of a no-key-only path.

Verification

Confirmed on this PR's CI that the API update step was the failing step (NvdApiRetryExceededException, retries exhausted) on the API-key path — which the mirror fallback now covers.

🤖 Generated with Claude Code

lukaszlenart and others added 2 commits July 22, 2026 17:09
The OWASP job intermittently failed with no reason other than timeouts.
Root cause is the unreliable NIST NVD feed (see dependency-check#8633):
keyless NVD downloads are heavily rate-limited and stall.

Two fixes:
- Add timeout-minutes: 30 so a hung NVD download fails fast instead of
  dragging to the 6h GitHub Actions default.
- Add -DautoUpdate=false to the check step so it reads only the cache
  populated by the preceding update-only step. Previously the check step
  carried neither the mirror datafeed URL nor the API key, so on any cache
  staleness/miss it synced directly against NIST - the unreliable path.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The NIST NVD API is unreliable even with an API key (retries exhausted,
see dependency-check#8633). Previously the mirror datafeed was used only
when no API key was present, so apache/struts always took the flaky API
path and never the mirror.

Make the API update step continue-on-error and run the mirror update as a
fallback when the API step fails (or when no API key is configured).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@lukaszlenart
lukaszlenart merged commit b154b7c into main Jul 22, 2026
12 checks passed
@lukaszlenart
lukaszlenart deleted the ci/owasp-timeout-fix branch July 22, 2026 16:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant