Skip to content

Run the config-merger test suite in CI - #29

Merged
jonnyspicer merged 1 commit into
mainfrom
ci/run-the-tests
Aug 15, 2026
Merged

Run the config-merger test suite in CI#29
jonnyspicer merged 1 commit into
mainfrom
ci/run-the-tests

Conversation

@jonnyspicer

Copy link
Copy Markdown
Contributor

Second half of 86cb4jfk7. #27 fixed the failing test; this makes the suite load-bearing.

Why

19 tests have existed here and never run in CI. That is precisely how test_actual_config_files came to assert San Francisco coordinates for five months after 64ff0c9 deliberately replaced the site-specific defaults with generic placeholders. The config change was correct; nothing was watching the test that disagreed.

The change

      - run: pip install pyyaml mergedeep 'pytest>=8.0'
      - name: Tests
        run: pytest config-merger/test/

Two things worth noting for review:

Dependencies are named directly. This repo has no requirements.txt or pyproject.toml, so there is nowhere else to put them. They mirror config-merger/Dockerfile, which installs pyyaml mergedeep unpinned — those two lines now need to stay in step, and the workflow comment says so.

The test path is explicit, because tests live under config-merger/test/ rather than tests/.

Verification

Ran the exact CI commands in a clean venv from a pristine checkout: 19 passed, exit 0.

Also checked the failure mode that would matter most here: pytest against a path that does not exist exits 4, not 0. A mistyped path fails the step rather than collecting nothing and reporting success — which, given this repo just spent five months not noticing a broken test, seemed worth confirming rather than assuming.

Adds about 2 seconds to the job.

🤖 Generated with Claude Code

https://claude.ai/code/session_013ZcazeseXVpu8XrYA2tE1V

19 tests have existed in this repo and never run in CI. That is how
test_actual_config_files came to assert San Francisco coordinates for five
months after 64ff0c9 deliberately replaced them with generic placeholders.

The repo has no Python packaging, so the config-merger's dependencies are
named directly in the workflow. They mirror config-merger/Dockerfile, which
installs the same two unpinned — those two lines need to stay in step.

Tests live under config-merger/test/ rather than tests/, so the path is
explicit. Verified that a wrong path exits non-zero, so a broken step fails
rather than silently collecting nothing.
@jonnyspicer
jonnyspicer merged commit 0911917 into main Aug 15, 2026
1 check passed
@jonnyspicer
jonnyspicer deleted the ci/run-the-tests branch August 15, 2026 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant