From 9aaed99e3a023a8d2908dd35a8d0c4563b525438 Mon Sep 17 00:00:00 2001 From: Lalit Maganti Date: Wed, 16 Sep 2026 14:45:42 +0100 Subject: [PATCH] tests: follow the Action example into docs/usage.md The example the release tooling rewrites moved to the usage guide when the README became a front page, and the tooling moved with it; its test kept building a tree with the example in README.md, so every case failed on a missing file. --- tests/conformance/test_action_release.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/tests/conformance/test_action_release.py b/tests/conformance/test_action_release.py index 157f5dd..9ec3078 100644 --- a/tests/conformance/test_action_release.py +++ b/tests/conformance/test_action_release.py @@ -28,7 +28,8 @@ def release_tree(tmp_path: Path) -> Path: description: Buildprof release tag to install. default: v0.2.5 ''')) - (tmp_path / "README.md").write_text(dedent(f'''\ + (tmp_path / "docs").mkdir() + (tmp_path / "docs/usage.md").write_text(dedent(f'''\ steps: - uses: LalitMaganti/buildprof@{release["PREVIEW_REF"]} {release["PREVIEW_NOTE"]} ''')) @@ -39,32 +40,34 @@ def release_tree(tmp_path: Path) -> Path: def test_prepare_next_release(release_tree: Path, version: str) -> None: cargo = release_tree / "Cargo.toml" cargo.write_text(cargo.read_text().replace('version = "0.2.5"', f'version = "{version}"', 1)) - before = {path: path.read_text() for path in release_tree.iterdir()} + before = { + path: path.read_text() for path in release_tree.rglob("*") if path.is_file() + } assert set(prepare(release_tree, check=True, allow_preview=True)) == { - "action.yml", "README.md" + "action.yml", "docs/usage.md" } assert all(path.read_text() == text for path, text in before.items()) prepare(release_tree, check=False, allow_preview=False) assert f" default: v{version}\n" in (release_tree / "action.yml").read_text() - readme = (release_tree / "README.md").read_text() - assert f"uses: LalitMaganti/buildprof@v{version}\n" in readme - assert release["PREVIEW_NOTE"] not in readme + usage = (release_tree / "docs/usage.md").read_text() + assert f"uses: LalitMaganti/buildprof@v{version}\n" in usage + assert release["PREVIEW_NOTE"] not in usage assert prepare(release_tree, check=True, allow_preview=False) == [] assert prepare(release_tree, check=False, allow_preview=False) == [] def test_preview_is_not_releasable(release_tree: Path) -> None: assert prepare(release_tree, check=True, allow_preview=True) == [] - assert prepare(release_tree, check=True, allow_preview=False) == ["README.md"] + assert prepare(release_tree, check=True, allow_preview=False) == ["docs/usage.md"] @pytest.mark.parametrize( ("name", "original", "replacement"), [ ("action.yml", "default: v0.2.5", "default: v0.1.0"), - ("README.md", "@v0.2.5", "@v0.1.0"), + ("docs/usage.md", "@v0.2.5", "@v0.1.0"), ], ) def test_check_detects_drift( @@ -78,8 +81,8 @@ def test_check_detects_drift( def test_invalid_documentation_does_not_partially_update(release_tree: Path) -> None: - readme = release_tree / "README.md" - readme.write_text("Missing the action example.\n") + usage = release_tree / "docs/usage.md" + usage.write_text("Missing the action example.\n") action = release_tree / "action.yml" action.write_text(action.read_text().replace("default: v0.2.5", "default: v0.1.0")) before = action.read_text()