Skip to content

Fix two recurring CI failures in daily scheduled runs - #1914

Merged
yarikoptic-gitmate merged 1 commit into
masterfrom
bf-ci
Aug 31, 2026
Merged

Fix two recurring CI failures in daily scheduled runs#1914
yarikoptic-gitmate merged 1 commit into
masterfrom
bf-ci

Conversation

@yarikoptic

Copy link
Copy Markdown
Member
  1. Exclude lowest-deps from the smoke-test-docs step. That step runs python "$f" using the system Python, but in lowest-deps mode dandi is only installed inside the tox venv. Every scheduled run was failing with: ModuleNotFoundError: No module named 'dandi' Adding matrix.mode != 'lowest-deps' to the condition skips the step for that matrix entry (the tox run itself already validates the package under lowest-compatible dependency versions).

  2. Add a 30 s timeout to the requests.get() calls in parse_purlobourl. Without a timeout the function hangs indefinitely when ontobee/obolibrary is unreachable, and each test that calls it only terminates after the 300 s pytest-timeout fires. With timeout=30 the request raises requests.exceptions.Timeout (a RequestException subclass) quickly, so mark_xfail_ontobee can catch it in non-scheduled mode and the tenacity retries also abort fast instead of each waiting 300 s.

1. Exclude `lowest-deps` from the smoke-test-docs step.
   That step runs `python "$f"` using the system Python, but in
   `lowest-deps` mode `dandi` is only installed inside the tox venv.
   Every scheduled run was failing with:
     ModuleNotFoundError: No module named 'dandi'
   Adding `matrix.mode != 'lowest-deps'` to the condition skips the
   step for that matrix entry (the tox run itself already validates the
   package under lowest-compatible dependency versions).

2. Add a 30 s timeout to the `requests.get()` calls in
   `parse_purlobourl`.  Without a timeout the function hangs
   indefinitely when ontobee/obolibrary is unreachable, and each test
   that calls it only terminates after the 300 s pytest-timeout fires.
   With timeout=30 the request raises `requests.exceptions.Timeout`
   (a `RequestException` subclass) quickly, so `mark_xfail_ontobee`
   can catch it in non-scheduled mode and the tenacity retries also
   abort fast instead of each waiting 300 s.

Co-Authored-By: Claude Code 2.1.251 / Claude Sonnet 4.6 <noreply@anthropic.com>
@yarikoptic yarikoptic added the tests Add or improve existing tests label Aug 31, 2026
@codecov

codecov Bot commented Aug 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77.30%. Comparing base (8ef129d) to head (e5be232).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1914   +/-   ##
=======================================
  Coverage   77.30%   77.30%           
=======================================
  Files          89       89           
  Lines       13288    13288           
=======================================
  Hits        10272    10272           
  Misses       3016     3016           
Flag Coverage Δ
unittests 77.30% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@yarikoptic-gitmate
yarikoptic-gitmate merged commit 3ad54a4 into master Aug 31, 2026
42 checks passed
@yarikoptic-gitmate
yarikoptic-gitmate deleted the bf-ci branch August 31, 2026 20:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tests Add or improve existing tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants