I found the issue! The test is failing because the current code in CI (commit 72ed2cd) has a bug in how CLI and environment variables are merged.
The Problem:
In src/concierge/cli/app.py, the code uses or when combining CLI and env values:
extra_snaps=extra_snaps or env_overrides.extra_snaps,
This means if you provide CLI args, the environment variables are completely ignored.
The Test Scenario:
- CLI: --extra-snaps "jq/latest/edge,astral-uv"
- ENV: CONCIERGE_EXTRA_SNAPS="yq/latest/edge,node/22/stable"
With the current code, only the CLI values are used (jq, astral-uv), so yq is installed from the default preset channel (latest/stable) instead of being overridden to latest/edge from the env variable.
The Fix:
I've already created commit 12ac9ef locally which changes from or to +:
extra_snaps=extra_snaps + env_overrides.extra_snaps,
This merges both CLI and environment values together, so all 4 snaps get installed with the correct channels.
Action needed: Please push the local commit with:
git push origin fix-spread-tests
This should fix the extra-snaps and extra-debs tests (and likely the overrides-priority test as well).