Skip to content

Conversation

@sdimitro
Copy link
Owner

Summary

  • Consolidate pylint, yapf, and ruff into a single lint job (reduces CI time by avoiding repeated setup)
  • Combine mypy into type-check job and add pyright alongside it for more comprehensive type checking
  • Fix exit code masking by adding set -o pipefail in integration tests (ensures pytest failures are properly reported when piping output)
  • Add workflow_call trigger to main.yml for reuse by other workflows
  • Simplify release.yml by calling main.yml instead of duplicating all CI jobs
  • Update codecov-action to v5

Test plan

  • Verify lint job runs pylint, ruff, and yapf checks
  • Verify type-check job runs both mypy and pyright
  • Verify integration tests properly fail when pytest fails (pipefail fix)
  • Verify release workflow correctly calls main workflow

- Consolidate pylint, yapf, and ruff into a single 'lint' job
- Combine mypy into 'type-check' job and add pyright alongside it
- Fix exit code masking by adding 'set -o pipefail' in integration tests
- Add workflow_call trigger to main.yml for reuse
- Simplify release.yml by calling main.yml instead of duplicating jobs
- Update codecov-action to v5
The kdumpling dependency is installed via pip install . which was
missing from the lint, type-check, pytest-unit, and pytest-integration
jobs in the consolidated workflow.
@codecov
Copy link

codecov bot commented Jan 30, 2026

Codecov Report

❌ Patch coverage is 31.81818% with 15 lines in your changes missing coverage. Please review.
✅ Project coverage is 38.37%. Comparing base (b60d241) to head (89f6a91).

Files with missing lines Patch % Lines
sdb/command.py 50.00% 3 Missing ⚠️
sdb/commands/spl/internal/kmem_helpers.py 0.00% 3 Missing ⚠️
sdb/commands/zfs/arc.py 0.00% 3 Missing ⚠️
sdb/commands/zfs/range_tree.py 0.00% 3 Missing ⚠️
sdb/session.py 0.00% 2 Missing ⚠️
sdb/commands/zfs/metaslab.py 0.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##           develop      #26       +/-   ##
============================================
- Coverage    76.13%   38.37%   -37.77%     
============================================
  Files           69       69               
  Lines         4036     4050       +14     
  Branches       625      626        +1     
============================================
- Hits          3073     1554     -1519     
- Misses         809     2453     +1644     
+ Partials       154       43      -111     

☔ View full report in Codecov by Sentry.
📢 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.

- Remove redundant 'install' job from CI (all other jobs now install sdb)
- Export 'error' and 'target' submodules in sdb/__init__.py for proper
  module access (fixes pyright errors like sdb.target.create_object())
- Add pyright configuration to pyproject.toml with appropriate settings
  for drgn interoperability
- Fix pyright errors:
  - Add None checks before iterating over .members and .enumerators
  - Fix return type annotations on generator functions (spa.py, zio.py)
  - Fix variable shadowing bug in metaslab.py (vdev -> vdev_id)
  - Use assert statements for guaranteed non-None after if checks
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.

2 participants