Skip to main content
← Back to list
01Issue
FeatureOpenSwamp CLIPublic
AssigneesNone

Relationships

#1762 Suppress boot-time "pulled extension(s) have missing source files" WRN when invoked command is `swamp extension install`

Opened by stack72 · 8/21/2026

Summary

swamp extension install emits its own boot-time [WRN] swamp·cli: "N pulled extension(s) have missing source files: ..." immediately before restoring those files. The WRN is self-referential: the command that emits it is the one that fixes what it warns about. It fires with N equal to the full lockfile on any fresh checkout (source under .swamp/pulled-extensions/ is gitignored), so CI logs and interactive first runs read as if something is wrong when the next second eliminates it.

Reproduce

$ rm -rf .swamp/pulled-extensions
$ swamp extension install --no-color 2>&1 | head -5
2026-08-21T11:17:37.033Z [WRN] swamp·cli: "N pulled extension(s) have missing source files: @hivemq/honeycomb, ..." Run 'swamp extension install' to restore them."
2026-08-21T11:17:38.276Z [INF] extension·install: Reading lockfile...
2026-08-21T11:17:38.282Z [INF] extension·install: Installing "@hivemq/honeycomb"@"..."...
...
2026-08-21T11:17:40.627Z [INF] extension·install: Installed N extension(s).

Observed on swamp 20260817.010424.0-sha.21133ea1. Also visible in production CI: hivemq/hivemq-terraform-harvester Swamp run 32471960221 fires a 27-line WRN immediately before restoring all 27.

Downstream impact

  • CI logs read as if the install failed, even though it succeeds.
  • Consumers work around it in-action: hivemq/swamp-extensions#167 pipes the install step through awk to strip the specific WRN. The workaround is brittle to log-format changes and lives in every action that wraps swamp extension install.

Suggested fix

Two options, either sufficient:

  1. Suppress or downgrade to INF the pulled extension(s) have missing source files WRN when the invoked command is swamp extension install. The command being run is the one that eliminates the reported state.
  2. Expose a --quiet-boot flag (or reuse an existing verbosity control) so callers can explicitly opt out of boot checks that will be resolved by the command about to run.

(1) is simpler and needs no caller changes.

  • Downstream workaround: hivemq/swamp-extensions#167 — remove once this lands.
  • Similar prior work: #863 (gitignore pulled source), #1065 (bundle poison), #1272 (stale catalog entries).

Automoved by swampadmin from https://github.com/swamp-club/swamp/issues/2201

02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED

Open

8/21/2026, 11:43:25 AM

No activity in this phase yet.

03Sludge Pulse

Sign in to post a ripple.