Skip to content

ci: add CI with lint, unit, E2E, and code quality checks#14

Merged
zoedberg merged 1 commit intoRGB-Tools:masterfrom
pv-rahil:chore/github-action-unit-tests-workflow
Dec 24, 2025
Merged

ci: add CI with lint, unit, E2E, and code quality checks#14
zoedberg merged 1 commit intoRGB-Tools:masterfrom
pv-rahil:chore/github-action-unit-tests-workflow

Conversation

@pv-rahil
Copy link
Contributor

@pv-rahil pv-rahil commented Nov 12, 2025

his PR introduces a complete CI/CD pipeline and refactors the testing infrastructure to improve reliability, stability, and long-term maintainability. It also enforces strict linting standards across the entire codebase, highlighted by the integration of pylint into the validation process.

Key Changes

CI/CD Integration

Added .github/workflows/tests.yml to automate:

  • Linting and static analysis via pre-commit
  • Unit tests with enforced coverage thresholds
  • E2E tests using Dogtail for UI validation
  • Allure reports published to GitHub Pages

Test Infrastructure Improvements

  • Mocked QThread and ToastManager globally in conftest.py to prevent threading issues and unintended UI instantiation during unit tests
  • Improved E2E test stability through:
    • More reliable UI element detection
    • Better cleanup between test scenarios
    • Timing adjustments tailored for CI environments
  • Introduced unit_tests/factories/ to centralize test data generation and reduce duplication
  • Removed redundant mocks and improved overall test case clarity and maintainability
  • In wallet_transfer_selection_view_model_test.py, mocked LnNodeServerManager to prevent Qt signal connections during unit tests.

UI / Logic Improvements

  • Added disable-button logic in the Close Channel Detail dialog to prevent double-clicks during channel closure operations

Source Code Updates

  • Enabled and enforced pylint across the entire project
  • Updated multiple files (viewmodels, views, repositories, etc.) to:
    • Fix formatting and lint issues
    • Eliminate code duplication
    • Reduce method complexity
    • Improve overall readability and consistency

Build Script Enhancements

  • Updated build_script.py and build_linux.sh with:
    • Improved error handling
    • Additional validation checks

Dependencies

  • Updated pyproject.toml and poetry.lock to support:
    • Revised testing requirements
    • CI/CD and linting integrations

@pv-rahil pv-rahil force-pushed the chore/github-action-unit-tests-workflow branch from b97c819 to f7988c4 Compare November 12, 2025 08:46
@pv-rahil pv-rahil force-pushed the chore/github-action-unit-tests-workflow branch 2 times, most recently from 037cf04 to a118b06 Compare November 20, 2025 07:12
@pv-rahil pv-rahil changed the title ci: add GitHub Actions workflow for running unit tests ci: add CI with lint, unit, E2E, and code quality checks Nov 20, 2025
@pv-rahil pv-rahil force-pushed the chore/github-action-unit-tests-workflow branch from a118b06 to 0ad7523 Compare December 22, 2025 14:22
@zoedberg zoedberg merged commit 0ad7523 into RGB-Tools:master Dec 24, 2025
21 of 23 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.

2 participants