Skip to content

ci(publish-maven): save NVD cache on timeout too + allow cold sync to finish - #90

Merged
jourlez merged 1 commit into
mainfrom
ci/nvd-save-on-cancel-and-longer-timeout
Aug 4, 2026
Merged

ci(publish-maven): save NVD cache on timeout too + allow cold sync to finish#90
jourlez merged 1 commit into
mainfrom
ci/nvd-save-on-cancel-and-longer-timeout

Conversation

@jourlez

@jourlez jourlez commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Summary

  • PR ci(publish-maven): cache OWASP NVD data + raise timeout #89's fix restored the weekly OWASP NVD cache, but the follow-up save step used !cancelled(), which is also true when the job is cancelled by hitting timeout-minutes — exactly the scenario a throttled cold sync was expected to hit. Switched to always() so a timed-out cold sync still persists partial progress for the next attempt.
  • Raised timeout-minutes 90 -> 240: a genuine cold sync (first run ever, no prior cache) downloads ~373k NVD CVE records at NVD's observed throttle rate of ~2k records/min, i.e. ~190min before build/sign/deploy even starts. Subsequent weekly-incremental runs are expected to finish in a few minutes once a cache exists.

Evidence

Run 30885793947 (1.6.5 protobuf-schemas publish dispatch) was cancelled by the 90min timeout at 46% (170,000/372,884 records synced), with no cache ever having been saved for owasp-dependency-check-nvd-* (confirmed via the repo's actions cache list, which had zero matching entries before this run and still has zero after, since the timeout skipped the save step).

Test plan

  • Re-dispatch publish-protobuf-schemas.yml for 1.6.5 after merge and confirm the audit gate completes (cold sync) within the new 240min window
  • Confirm actions/cache list shows a saved owasp-dependency-check-nvd-* entry afterward
  • Confirm a subsequent dispatch (same week) restores that cache and finishes quickly

… finish

PR #89's fix restored the weekly NVD cache but the follow-up save step
used !cancelled(), which also evaluates true when the job is cancelled
by hitting timeout-minutes — exactly the case a throttled cold sync
was expected to hit. Use always() so a timed-out cold sync still
persists partial progress for the next attempt.

Also raise timeout-minutes 90 -> 240: a real cold sync (first run ever,
no prior cache) downloads ~373k NVD records at NVD's observed throttle
rate of ~2k/min, i.e. ~190min before build/sign/deploy even starts.
Confirmed via run 30885793947 for the 1.6.5 protobuf-schemas publish,
which was cancelled by the 90min timeout at 46% (170k/372.9k records).
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying exchange-testnet with  Cloudflare Pages  Cloudflare Pages

Latest commit: a7f2ddf
Status: ✅  Deploy successful!
Preview URL: https://ab8d9309.exchange-testnet.pages.dev
Branch Preview URL: https://ci-nvd-save-on-cancel-and-lo.exchange-testnet.pages.dev

View logs

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@jourlez
jourlez merged commit bff45cb into main Aug 4, 2026
9 checks passed
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