v2.10.0 (#697)
Co-authored-by: Clément Drouin <clement.drouin@mistral.ai> Co-authored-by: Corentin André <corentin.andre@mistral.ai> Co-authored-by: Guillaume LE GOFF <guillaume.lgf@gmail.com> Co-authored-by: Kim-Adeline Miguel <51720070+kimadeline@users.noreply.github.com> Co-authored-by: Maxime Dolores <maxime.dolores@ext.mistral.ai> Co-authored-by: Nelson PROIA <144663685+Nelson-PROIA@users.noreply.github.com> Co-authored-by: Peter Evers <pevers90@gmail.com> Co-authored-by: Pierre Rossinès <pierre.rossines@mistral.ai> Co-authored-by: Quentin <quentin.torroba@mistral.ai> Co-authored-by: Vincent G <10739306+VinceOPS@users.noreply.github.com> Co-authored-by: MichisGitIsKing <MichisGitIsKing@users.noreply.github.com> Co-authored-by: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
parent
626f905186
commit
228f3c65a9
158 changed files with 7235 additions and 916 deletions
82
tests/test_prepare_release.py
Normal file
82
tests/test_prepare_release.py
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import subprocess
|
||||
import tomllib
|
||||
|
||||
from scripts import prepare_release
|
||||
|
||||
|
||||
def test_pin_dependencies_preserves_toml_format_and_refreshes_lock(
|
||||
monkeypatch, tmp_path
|
||||
):
|
||||
pyproject_path = tmp_path / "pyproject.toml"
|
||||
pyproject_path.write_text(
|
||||
"""[project]
|
||||
name = "mistral-vibe"
|
||||
version = "2.9.6"
|
||||
license = { text = "Apache-2.0" }
|
||||
authors = [{ name = "Mistral AI" }]
|
||||
dependencies = [
|
||||
"httpx[http2]>=0.28.1",
|
||||
]
|
||||
|
||||
[dependency-groups]
|
||||
build = ["pyinstaller>=6.17.0"]
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
filterwarnings = [
|
||||
# Keep this comment when pinning dependencies.
|
||||
"ignore:example",
|
||||
]
|
||||
""",
|
||||
encoding="utf-8",
|
||||
)
|
||||
(tmp_path / "uv.lock").write_text("", encoding="utf-8")
|
||||
monkeypatch.chdir(tmp_path)
|
||||
|
||||
def fake_get_pinned_dependencies(group=None):
|
||||
if group == "build":
|
||||
return ["pyinstaller==6.17.0", "truststore==0.10.4"]
|
||||
return ["anyio==4.12.0", 'httpx[http2]==0.28.1 ; python_version >= "3.12"']
|
||||
|
||||
uv_commands = []
|
||||
|
||||
def fake_subprocess_run(args, **kwargs):
|
||||
uv_commands.append(args)
|
||||
return subprocess.CompletedProcess(args=args, returncode=0, stdout="")
|
||||
|
||||
git_commands = []
|
||||
|
||||
def fake_run_git_command(*args, **kwargs):
|
||||
git_commands.append(args)
|
||||
return subprocess.CompletedProcess(args=args, returncode=0, stdout="")
|
||||
|
||||
monkeypatch.setattr(
|
||||
prepare_release, "get_pinned_dependencies", fake_get_pinned_dependencies
|
||||
)
|
||||
monkeypatch.setattr(prepare_release.subprocess, "run", fake_subprocess_run)
|
||||
monkeypatch.setattr(prepare_release, "run_git_command", fake_run_git_command)
|
||||
|
||||
prepare_release.pin_dependencies("2.9.6")
|
||||
|
||||
updated_pyproject = pyproject_path.read_text(encoding="utf-8")
|
||||
updated_data = tomllib.loads(updated_pyproject)
|
||||
assert 'license = { text = "Apache-2.0" }' in updated_pyproject
|
||||
assert 'authors = [{ name = "Mistral AI" }]' in updated_pyproject
|
||||
assert "# Keep this comment when pinning dependencies." in updated_pyproject
|
||||
assert updated_data["project"]["dependencies"] == [
|
||||
"anyio==4.12.0",
|
||||
'httpx[http2]==0.28.1 ; python_version >= "3.12"',
|
||||
]
|
||||
assert updated_data["dependency-groups"]["build"] == [
|
||||
"pyinstaller==6.17.0",
|
||||
"truststore==0.10.4",
|
||||
]
|
||||
assert uv_commands == [["uv", "lock"]]
|
||||
assert ("add", "pyproject.toml", "uv.lock") in git_commands
|
||||
assert (
|
||||
"commit",
|
||||
"--allow-empty",
|
||||
"-m",
|
||||
"chore: pin dependencies for v2.9.6",
|
||||
) in git_commands
|
||||
Loading…
Add table
Add a link
Reference in a new issue