diff --git a/VERSION b/VERSION index c363c30b48..8bd6dc7ff5 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.249.1 \ No newline at end of file +2026.4.16.1 diff --git a/micromasters/settings.py b/micromasters/settings.py index 0214059407..d1b157b893 100644 --- a/micromasters/settings.py +++ b/micromasters/settings.py @@ -15,7 +15,7 @@ get_string) from micromasters.sentry import init_sentry -VERSION = "0.0.0" # Default version +VERSION = "2026.4.16.1" # Default version version_file = Path(os.getcwd()) / "VERSION" if version_file.is_file(): with open(version_file, encoding="UTF-8") as file: diff --git a/micromasters/tests/test_settings.py b/micromasters/tests/test_settings.py index 9c6ff1e27e..0a03e3d50e 100644 --- a/micromasters/tests/test_settings.py +++ b/micromasters/tests/test_settings.py @@ -6,7 +6,9 @@ import sys from unittest import mock -import semantic_version +import re +import tomllib + from ddt import data, ddt from django.conf import settings from django.core import mail @@ -152,9 +154,11 @@ def test_opensearch_index_pr_build(self): settings_vars = self.reload_settings() assert settings_vars['OPENSEARCH_INDEX'] == index_name - @staticmethod - def test_semantic_version(): - """ - Verify that we have a semantic compatible version. - """ - semantic_version.Version(settings.VERSION) + def test_bump_my_version_format(self): + """Verify that VERSION matches the bump-my-version calver format.""" + with open("pyproject.toml", "rb") as f: # noqa: PTH123 + pyproject = tomllib.load(f) + version_pattern = pyproject["tool"]["bumpversion"]["parse"] + package_version = pyproject["project"]["version"] + assert settings.VERSION == package_version + assert re.fullmatch(version_pattern, settings.VERSION) diff --git a/pyproject.toml b/pyproject.toml index 1a53bbdde5..53cc540cb0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "micromasters" -version = "0.0.1" +version = "2026.4.16.1" requires-python = ">=3.11" dependencies = [ "django>=5.2,<5.3", @@ -79,3 +79,36 @@ dev = [ "isort", "semantic-version", ] + +[tool.bumpversion] +commit = false +tag = false +parse = "(?P(?:[1-9][0-9]{3})\\.(?:1[0-2]|[1-9])\\.(?:3[0-1]|[12][0-9]|[1-9]))\\.(?P\\d+)" +serialize = ["{release}.{build}"] + +[tool.bumpversion.parts.release] +calver_format = "{YYYY}.{MM}.{DD}" + +[tool.bumpversion.parts.build] +first_value = "1" + +[[tool.bumpversion.files]] +filename = "micromasters/settings.py" +search = 'VERSION = "{current_version}"' +replace = 'VERSION = "{new_version}"' + +[[tool.bumpversion.files]] +filename = "pyproject.toml" +search = 'version = "{current_version}"' +replace = 'version = "{new_version}"' + +[[tool.bumpversion.files]] +filename = "uv.lock" +search = """ +name = "micromasters" +version = "{current_version}" +source = {{ virtual = "." }}""" +replace = """ +name = "micromasters" +version = "{new_version}" +source = {{ virtual = "." }}""" diff --git a/uv.lock b/uv.lock index ff6d13d17b..ddfc4e301e 100644 --- a/uv.lock +++ b/uv.lock @@ -1202,7 +1202,7 @@ wheels = [ [[package]] name = "micromasters" -version = "0.0.1" +version = "2026.4.16.1" source = { virtual = "." } dependencies = [ { name = "boto3" },