Merged
Conversation
Drop RunnerScaler, reconcile_service, and reactive spawning code paths. The charm now always uses PressureReconciler (with or without a planner relation). This removes ~3700 lines of dead code and the mongodb relation from charmcraft.yaml. Application changes: - Delete runner_scaler.py, reconcile_service.py, reactive/ package - Remove ReactiveConfiguration, QueueConfig from configuration - Remove reactive param from InstanceID.build() and create_runners() - Remove --python-path CLI option, always use pressure reconciler - Bump version to 0.17.0 Charm changes: - Remove ReactiveConfig, database param from CharmState.from_charm() - Remove DatabaseRequires, MongoDB event handlers from charm.py - Remove MissingMongoDBError, mongodb relation, reactive logrotate config - Remove create_runner_scaler and _get_reactive_configuration from factories - Remove --python-path from systemd ExecStart Docs: - Delete docs/how-to/reactive.md - Update changelog with legacy removal notes
Overview
Drop all the dead code due to the move to use a pressure reconciler.
Rationale
After recent code has been merged, we no longer use reactive or legacy reconciliation (with
runner_scaler). We should clean the code base to remove all redundant code.What changed
Upgrade note
Operators must run juju remove-relation github-runner mongodb before upgrading, since the mongodb endpoint is removed from charmcraft.yaml.
Checklist
urgent,trivial,complex).github-runner-manager/pyproject.toml.