Problem
There is no automated test coverage for any feature in this repo:
- Root
package.json "test" script is a no-op stub (echo "Warning: no test specified").
- No
test/ directory exists at the repo root or inside any src/<feature>/.
- No
scenarios.json files (the format expected by devcontainer-feature-test-runner).
.github/workflows/publish-features.yml publishes to GHCR without any prior validation step that a feature actually installs successfully.
Recent git history shows several reactive bug fixes that a basic install test would likely have caught before merge, e.g.:
5818e42 fix(githooks): use sudo for chmod to ensure proper permissions
9976a9f / ffc67c8: a version bump that had to be immediately reverted
Proposal
- Add a
test/<feature>/scenarios.json (or equivalent) per feature under src/<feature>/, following the devcontainer-feature-test-runner conventions, asserting the feature installs cleanly and its expected binaries/files exist afterward.
- Add a CI job (new workflow or a step prepended to
publish-features.yml) that runs devcontainer features test (or the equivalent devcontainers/action test mode) against every feature before publish.
- Start with
common-utils since it's the foundation every other feature depends on (dependsOn), then expand outward.
Where this lives / sync note
This repo distributes each src/<feature> to its own standalone repo via split-monorepo.yml/merge-monorepo.yml. New test/scenarios.json files should be added inside each feature's own src/<feature>/ directory (not at the repo root only) so they ride the existing split-sync automation and land in each feature's standalone repo too.
Acceptance criteria
Problem
There is no automated test coverage for any feature in this repo:
package.json"test"script is a no-op stub (echo "Warning: no test specified").test/directory exists at the repo root or inside anysrc/<feature>/.scenarios.jsonfiles (the format expected bydevcontainer-feature-test-runner)..github/workflows/publish-features.ymlpublishes to GHCR without any prior validation step that a feature actually installs successfully.Recent git history shows several reactive bug fixes that a basic install test would likely have caught before merge, e.g.:
5818e42fix(githooks): use sudo for chmod to ensure proper permissions9976a9f/ffc67c8: a version bump that had to be immediately revertedProposal
test/<feature>/scenarios.json(or equivalent) per feature undersrc/<feature>/, following the devcontainer-feature-test-runner conventions, asserting the feature installs cleanly and its expected binaries/files exist afterward.publish-features.yml) that runsdevcontainer features test(or the equivalentdevcontainers/actiontest mode) against every feature before publish.common-utilssince it's the foundation every other feature depends on (dependsOn), then expand outward.Where this lives / sync note
This repo distributes each
src/<feature>to its own standalone repo viasplit-monorepo.yml/merge-monorepo.yml. Newtest/scenarios.jsonfiles should be added inside each feature's ownsrc/<feature>/directory (not at the repo root only) so they ride the existing split-sync automation and land in each feature's standalone repo too.Acceptance criteria
common-utils,gitutils, andgithookshave a working test scenario.publish-features.yml's publish step.