← Back to issue list

fix(tests/spread): fix reactive spread tests

View original Github issue

Metadata

Project
charmcraft
Number
#2763
Type
pull request
State
merged
Author
lengau
Labels
Created
Updated
Closed

Current evaluation

Merged after resolving failing reactive spread tests. The changes split the test suite into legacy and resolute variants, switched to binary wheels to fix dependency resolution, and removed obsolete flags. Approved by reviewers and integrated.

Suggested action:

No scores available.

Issue body

This PR fixes the failing reactive spread tests by making several structural and configuration changes: 1. **Test Splitting**: The single `reactive` test has been split into two distinct tests to avoid complex conditionals and cross-talk: - `reactive-legacy`: Runs on Ubuntu 20.04 and 22.04, testing the `2.x/stable` and `stable` charm channels. It dynamically sets its base channel to match the host system's base. - `reactive-resolute`: A standalone test specifically for Ubuntu 26.04, configured to strictly test the `charm/latest/stable` channel. 2. **Dependency Resolution Fix**: Explicitly adds `--binary-wheels` to the `charm-build` arguments in `charmcraft.yaml`. This prevents `charm-build` from defaulting to source builds (which fail due to PEP-517 isolated environments downloading newer `setuptools` versions that lack `pkg_resources`). Using binary wheels avoids these source build failures and speeds up the tests. 3. **Cleanup**: Removes `--upgrade-buildvenv-core-deps` and `--ignore-requires-python` flags from all `charmcraft.yaml` templates, as they were contributing to dependency resolution failures on older versions and are no longer necessary with binary wheels.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged after resolving failing reactive spread tests. The changes split the test suite into legacy and resolute variants, switched to binary wheels to fix dependency resolution, and removed obsolete flags. Approved by reviewers and integrated.
qwen3.6-35b-a3b-mtp-q6
Staleness: 5
Complexity: 15
Confidence: 90
needs review Removes unsupported charm-build flags from reactive charmcraft.yaml template to fix spread tests on older snap channels, with dynamic injection for 26.04. Currently awaiting review.

Update history

Date Change
updated

Related issues

Issue Project State Summary Similarity
#1366 tests(spread): make release test less flaky charmcraft merged Merged changes that reduce flakiness in the spread release test, resolving issue #1362. Approved by two reviewers, the update modifies one file (+17/-7) after addressing feedback.
78%
#127 Fix spread tests imagecraft merged Merged after receiving approval from two reviewers and passing all CI checks. The changes fix spread tests across 11 files (+49/-38 lines).
77%
#3432 spread tests: remove legacy plugin tests snapcraft merged Merged removal of legacy plugin tests from the spread test suite. Deleted 665 lines across 29 files. Approved by reviewer, passed CI, and maintained coverage. Unrelated test failures were addressed in a separate PR.
76%
#2762 tests/spread: fix reactive spread tests on older channels charmcraft closed Closed without merging due to CI failures, after proposing to remove unsupported flags from the reactive charmcraft.yaml template to fix older channel tests.
76%
#1290 test(spread): clean up store tests charmcraft merged Merged cleanup of spread store tests, removing 28 lines across four files. The underlying library test failure is fixed in PR #1292. Approved by two reviewers.
75%
#534 test(spread): workaround for flaky test fetch-service merged Merged a workaround for a flaky spread test (issue #533). The change adjusts one file (+2/-1 lines) to skip a no-op name query check while retaining other validations. Approved by two reviewers and passed all CI checks.
75%
#4433 tests(spread): add remote-build spread test snapcraft merged Merged changes adding spread tests for new and legacy remote-build, resolving issue #4398. Approved by two reviewers with passing CI checks.
75%
#1555 refactor(tests/spread): stop use init in most spread tests charmcraft closed Author closed and abandoned the changes after self-review deemed the approach flawed. No code was merged or reviewed.
75%
#1322 fix(test): better matching for strict dependencies spread test charmcraft merged Merged a single-line test fix improving matching logic for the strict dependencies spread test. Approved by two reviewers with zero unresolved comments.
75%
#2417 fix: fix a series of breaking spread tests charmcraft merged Merged after fixing multiple breaking spread tests. Commits resolve individual failures, while remaining broken tests are marked non-blocking for core24 migration. Approved by reviewers and merged following CI validation.
75%