← Back to issue list

ci(spread): switch from manually running spread to using snapcraft test

View original Github issue

Metadata

Project
craft-application
Number
#1038
Type
pull request
State
open
Author
lengau
Labels
Created
Updated
Closed

Current evaluation

CI config change to run spread tests via `snapcraft test` instead of manually. 165 days old, 0 reviews, CI failing on all craft-test jobs. Target file spread.yaml since deprecated in favor of <app-name>-test.yaml (#1168).

Suggested action: close stale

Reason: PR is 165 days old with zero comments or reviews, and CI fails on all four craft-test jobs plus snap-tests. More critically, the project has since deprecated spread.yaml entirely in favor of <app-name>-test.yaml (PR #1168), making this PR's approach of modifying spread.yaml obsolete. The underlying goal (issue #806) remains open and can be addressed with a fresh PR targeting the new test.yaml format.

Impact: 35 Quick Win: 19.25 Staleness: 78 Complexity: 45 Confidence: 78

Issue body

Configures the spread setup to work with `snapcraft test`: - Comment out top-level `path`/`environment`/`include` so `snapcraft test` can manage them - Remove `type`/`allocate` stub from `craft` backend so `snapcraft test` can inject its own adhoc configuration - Switch snap install to use `$CRAFT_ARTIFACT` env var set by `snapcraft test` - Configure root SSH login in `cloud-config.yaml` for the `craft` backend (used by the LXD VM allocator) - Run `apt-get update` in `prepare` to ensure package lists are fresh Closes CRAFT-5063

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 35
Quick Win: 19.25
Staleness: 78
Complexity: 45
Confidence: 78
close stale CI config change to run spread tests via `snapcraft test` instead of manually. 165 days old, 0 reviews, CI failing on all craft-test jobs. Target file spread.yaml since deprecated in favor of <app-name>-test.yaml (#1168).
qwen/qwen3.6-35b-a3b
Staleness: 75
Complexity: 40
Confidence: 60
close stale Configures spread setup to work with snapcraft test by adjusting backend configs, environment variables, and SSH settings. Currently inactive for 124 days with failing CI checks and no reviewer engagement.
qwen3.6-35b-a3b-mtp-q6
Staleness: 75
Complexity: 15
Confidence: 70
needs review Switches spread CI execution from manual runs to snapcraft test. Updates configuration, removes craft backend stubs, and adjusts environment variables. Currently inactive with zero comments and no CI status.
qwen3.6-35b-a3b-mtp-q6
Staleness: 70
Complexity: 30
Confidence: 85
needs review Configures CI spread to work with snapcraft test instead of manual execution. Updates paths, removes craft stubs, uses CRAFT_ARTIFACT, configures SSH for LXD, and refreshes apt. Inactive for 89 days with no comments, currently stale and awaiting triage.

Update history

No update history recorded yet.

Related work

  • Related To: craft-application#806 (confidence 90%)

    PR states 'Closes CRAFT-5063' which maps to this open issue about using snapcraft test for spread tests; the issue is still open and active in tracking

  • Related To: craft-application#1168 (confidence 85%)

    Deprecates spread.yaml in favor of <app-name>-test.yaml, superseding this PR's approach of modifying spread.yaml to work with snapcraft test

Related issues

Issue Project State Summary Similarity
#806 Use `snapcraft test` for spread tests craft-application open Dogfooding task to switch craft-application CI from running spread directly to using snapcraft test. Triaged; open PR #1038 stalled ~165 days with failing CI; workflow still runs spread directly at HEAD.
82%
#1272 tests: initial setup for the snapcraft snap tests with spread snapcraft merged Merged to master following single reviewer approval. Introduced initial spread test infrastructure for snapcraft across four files (+39 lines). Code coverage remained stable at 95.33%.
77%
#5845 test(spread): test building base and snapd snaps snapcraft merged Merged spread tests for building base and snapd snaps. Despite initial CI failures linked to snapcraft issue #5843, the changes were approved and integrated to maintain build compatibility with mainline snapcraft.
77%
#2793 tests: enable SNAPCRAFT_BUILD_INFO for spread snapcraft merged Merged following approval and passing CI. Enabled SNAPCRAFT_BUILD_INFO for spread tests to cover manifest changes. Included a fix for the nil-basic spread test. Minimal diff across three files.
75%
#386 tests: update testing to use craft-test fetch-service merged Merged. Replaced direct spread calls with snapcraft test in workflows and spread.yaml, requiring a core24 base update. Approved by two reviewers and modified 10 files (+56/-125 lines).
74%
#3478 ci: add requirements for snapcraft legacy in spread snapcraft merged Merged after approval by one reviewer. Adds CI requirements for snapcraft legacy in spread, modifying one file with three additions and four deletions.
72%
#5389 test(spread): trace logs in spread tests snapcraft merged Merged after approval. Added trace logging to spread tests. Despite CI failures from extra snapcraft output, the change was approved and merged following a related feature branch integration to prevent conflicts.
71%
#102 test: update craftctl test snapcraft-rocks merged Merged after two approvals and passing CI checks. Updates the spread test to validate the fix for snapcraft-rocks#33, modifying one file with seven added lines.
71%
#2515 `google:ubuntu-20.04-64:tests/spread/smoketests/reactive:stable` spread test is failing charmcraft closed Resolved by upgrading to charmcraft 4.2.0, which includes craft-providers 3.3.0. A retry mechanism around snap watch handles a snapd restart race condition, fixing the spread test failures.
70%