Configlet woes: fmt removed too much

I’m syncing the Tcl track. Starting with a docs and metadata PR, the configlet CI failed because the track config.json was flagged. OK, configlet fmt, commit and push.

Now configlet CI fails with

Run configlet lint
The lint command is under development.
To check your track using the latest linting rules,
please regularly update configlet and re-run this command.

The `exercises.concept` key is missing:
/home/runner/work/tcl/tcl/config.json

The `concepts` key is missing:
/home/runner/work/tcl/tcl/config.json

Configlet detected at least one problem.
For more information on resolving the problems, please see the documentation:
https://exercism.org/docs/building/configlet/lint
Error: Process completed with exit code 1.

Those keys (the values were empty arrays) were indeed removed by configlet fmt.

Either configlet fmt fails or configlet lint fails, depending on the presence/absence of those keys.

@ee7-1282 @ErikSchierboom

Thanks for the report. This was a problem with the new 4.0.0-beta.15 (released exactly 1 hour before the time of posting this message).

I’ve rolled back, so that fetch-configlet will once again download 4.0.0-beta.14.

We’ll either:

  • make lint allow these keys to be missing
  • or make fmt not remove these key/value pairs when the value is empty.

I’ve created fmt, lint: not consistent in treatment of track-level `concepts` and `exercises.concept` · Issue #831 · exercism/configlet · GitHub. Let’s have any further discussion there.

1 Like