Skip to content

[WIP] refactor: prepare integration tests for legacy code removal#744

Draft
cbartz wants to merge 7 commits intomainfrom
chore/prepare-tests-for-legacy-removal-ISD-4104
Draft

[WIP] refactor: prepare integration tests for legacy code removal#744
cbartz wants to merge 7 commits intomainfrom
chore/prepare-tests-for-legacy-removal-ISD-4104

Conversation

@cbartz
Copy link
Collaborator

@cbartz cbartz commented Mar 2, 2026

Overview

Adapt the integration tests:

  • decouple charm integration tests from legacy reconcile specifics (writing of reconcile id)
  • move charm_metrics test to application level using pressure reconciler
  • drop reactive test

Rationale

Prepare the removal of the legacy (non-pressure driven reconcile) reconcile mode. Some integration tests relied on specifics of the legacy reconcile mode. The removal of the legacy mode will be done in a separate PR .

Checklist

  • The charm style guide was applied.
  • The contributing guide was applied.
  • The changes are compliant with ISD054 - Managing Charm Complexity
  • The documentation for charmhub is updated.
  • The PR is tagged with appropriate label (urgent, trivial, complex).
  • The changelog is updated with changes that affects the users of the charm.
  • The application version number is updated in github-runner-manager/pyproject.toml.

cbartz added 6 commits March 13, 2026 16:39
… coverage to app-level manager tests

  - Drop reactive and charm-metrics integration suites and related helpers/fixtures
  - Remove wait_for_reconcile/reconcile-id polling and switch remaining charm tests to outcome-based waits (check-runners)
  - Simplify charm integration dependencies by removing reactive-only packages (kombu, pymongo)
  - Move metrics validation to github-runner-manager app-level integration tests with local log-file assertions
  - Add shared app-level OpenStack and metrics helper modules
  - Harden runner SSH key resolution for app-level tests (no brittle ~/.ssh/<runner>.key assumption)
  - Improve test config ergonomics by adding reconcile_interval and base_virtual_machines parameters to
    create_default_config
  - Make planner stub port allocation automatic in start() and remove port wiring from callers
  - Keep planner lifecycle coverage in existing test_planner_runner and drop low-value test_manager_service
  - Update CI workflows:
      - remove deleted charm modules from .github/workflows/integration_test.yaml
      - update manager integration matrix in .github/workflows/test_github_runner_manager.yaml
@cbartz cbartz force-pushed the chore/prepare-tests-for-legacy-removal-ISD-4104 branch from 8947ea4 to 2dc3779 Compare March 13, 2026 15:45
@github-actions
Copy link
Contributor

TICS Quality Gate

✔️ Passed

github-runner-operator

See the results in the TICS Viewer

The following files have been checked for this project
  • github-runner-manager/src/github_runner_manager/manager/pressure_reconciler.py
  • github-runner-manager/src/github_runner_manager/metrics/events.py
  • github-runner-manager/src/github_runner_manager/planner_client.py
  • github-runner-manager/tests/integration/conftest.py
  • github-runner-manager/tests/integration/factories.py
  • github-runner-manager/tests/integration/metrics_helpers.py
  • github-runner-manager/tests/integration/openstack_helpers.py
  • github-runner-manager/tests/integration/planner_stub.py
  • github-runner-manager/tests/integration/test_debug_ssh.py
  • github-runner-manager/tests/integration/test_metrics.py
  • github-runner-manager/tests/integration/test_planner_runner.py
  • github-runner-manager/tests/unit/manager/test_pressure_reconciler.py
  • github-runner-manager/tests/unit/metrics/test_events.py
  • github-runner-manager/tests/unit/test_planner_client.py
  • src/charm.py
  • src/logrotate.py
  • tests/integration/conftest.py
  • tests/integration/helpers/common.py
  • tests/integration/test_charm_no_runner.py
  • tests/integration/test_charm_runner.py
  • tests/integration/test_prometheus_metrics.py
  • tests/unit/test_charm.py

.github/workflows/tics.yaml / TICS / TICS GitHub Action

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant