diff --git a/bot_bottle/backend/firecracker/infra_artifact.py b/bot_bottle/backend/firecracker/infra_artifact.py index 127288c..ba91cb8 100644 --- a/bot_bottle/backend/firecracker/infra_artifact.py +++ b/bot_bottle/backend/firecracker/infra_artifact.py @@ -85,6 +85,8 @@ def infra_artifact_version(init_script: str, *, repo_root: Path = _REPO_ROOT) -> h.update(name.encode()) h.update(b"\0") h.update((repo_root / name).read_bytes()) + h.update(b"pyproject.toml\0") + h.update((repo_root / "pyproject.toml").read_bytes()) h.update(b"init\0") h.update(init_script.encode()) return h.hexdigest()[:16] diff --git a/tests/unit/test_infra_artifact.py b/tests/unit/test_infra_artifact.py index 47ddcd1..805758a 100644 --- a/tests/unit/test_infra_artifact.py +++ b/tests/unit/test_infra_artifact.py @@ -93,6 +93,17 @@ class TestVersionInputs(unittest.TestCase): (pkg / "netpool.defaults.env").write_text("FOO=1\n") for name in ("Dockerfile.orchestrator", "Dockerfile.gateway", "Dockerfile.infra"): (root / name).write_text(f"FROM scratch # {name}\n") + (root / "pyproject.toml").write_text("[project]\nname = 'bot-bottle'\n") + + def test_pyproject_toml_change_bumps_version(self) -> None: + with tempfile.TemporaryDirectory() as d: + root = Path(d) + self._fake_repo(root) + before = ia.infra_artifact_version("init", repo_root=root) + (root / "pyproject.toml").write_text( + "[project]\nname = 'bot-bottle'\ndependencies = ['httpx']\n") + after = ia.infra_artifact_version("init", repo_root=root) + self.assertNotEqual(before, after) def test_non_python_file_change_bumps_version(self) -> None: with tempfile.TemporaryDirectory() as d: