From 16e68ad2840a8e9933e7194241061d0deae204b3 Mon Sep 17 00:00:00 2001 From: Spitap Date: Sat, 22 Apr 2023 17:46:33 +0200 Subject: [PATCH 1/7] Updated version --- modoboa/__init__.py | 2 +- modoboa/version.py | 10 ++++++++++ pyproject.toml | 5 ++++- 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 modoboa/version.py diff --git a/modoboa/__init__.py b/modoboa/__init__.py index 1b52c3b1e..bd516d64a 100644 --- a/modoboa/__init__.py +++ b/modoboa/__init__.py @@ -1,7 +1,6 @@ """Modoboa - Mail hosting made simple.""" from pkg_resources import DistributionNotFound, get_distribution -from modoboa.core.commands import handle_command_line try: __version__ = get_distribution(__name__).version @@ -10,4 +9,5 @@ except DistributionNotFound: pass def modoboa_admin(): + from modoboa.core.commands import handle_command_line handle_command_line() diff --git a/modoboa/version.py b/modoboa/version.py new file mode 100644 index 000000000..bb0278e0c --- /dev/null +++ b/modoboa/version.py @@ -0,0 +1,10 @@ +import os + +def get_version(): + from setuptools_scm import get_version as default_version + github_version = os.environ.get('GITHUB_REF_NAME', None) + if github_version is not None: + return github_version + + return default_version() + diff --git a/pyproject.toml b/pyproject.toml index 86353e4d7..ba0c0b3f5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["setuptools>=61.0"] +requires = ["setuptools>=61.0", "setuptools_scm[toml]>=6.2"] build-backend = "setuptools.build_meta" [project] @@ -89,3 +89,6 @@ modoboa-cli = "modoboa:modoboa_admin" homepage = "http://modoboa.org/" documentation = "https://modoboa.readthedocs.io/en/latest/" repository = "https://github.com/modoboa/modoboa" + +[tool.setuptools.dynamic] +version = {attr = "modoboa.version.get_version"} From 1edf95b612c0e97606089a74cf4af465d1eb2e71 Mon Sep 17 00:00:00 2001 From: Spitap Date: Sat, 22 Apr 2023 18:17:20 +0200 Subject: [PATCH 2/7] Print outbox --- modoboa/core/tests/test_core.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modoboa/core/tests/test_core.py b/modoboa/core/tests/test_core.py index c722432da..6e316db47 100644 --- a/modoboa/core/tests/test_core.py +++ b/modoboa/core/tests/test_core.py @@ -289,4 +289,6 @@ class APICommunicationTestCase(ModoTestCase): mocks.modo_api_instance_update, mocks.modo_api_versions_no_update): management.call_command("communicate_with_public_api") + for mails in mail.outbox: + print(mails.body) self.assertEqual(len(mail.outbox), 1) From 1a761b84833117b222d9b70fc5771121afce343e Mon Sep 17 00:00:00 2001 From: Spitap Date: Sat, 22 Apr 2023 18:42:19 +0200 Subject: [PATCH 3/7] Fixed local_scheme --- modoboa/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modoboa/version.py b/modoboa/version.py index bb0278e0c..d31291fe6 100644 --- a/modoboa/version.py +++ b/modoboa/version.py @@ -6,5 +6,5 @@ def get_version(): if github_version is not None: return github_version - return default_version() + return default_version(local_scheme="") From 66d90f6e67e3636f5237041189b3451415e0f7c6 Mon Sep 17 00:00:00 2001 From: Spitap Date: Sat, 22 Apr 2023 19:03:30 +0200 Subject: [PATCH 4/7] Fixed local scheme --- modoboa/version.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modoboa/version.py b/modoboa/version.py index d31291fe6..4d607c217 100644 --- a/modoboa/version.py +++ b/modoboa/version.py @@ -1,10 +1,14 @@ import os + +def local_scheme(version): + return "" + + def get_version(): from setuptools_scm import get_version as default_version github_version = os.environ.get('GITHUB_REF_NAME', None) if github_version is not None: return github_version - - return default_version(local_scheme="") + return default_version(local_scheme=local_scheme) From 2b47cbbc873e78ff224cf0548b447fae976e4838 Mon Sep 17 00:00:00 2001 From: Spitap Date: Sat, 22 Apr 2023 19:10:20 +0200 Subject: [PATCH 5/7] Use github ref name only for release --- .github/workflows/modoboa.yml | 2 ++ modoboa/version.py | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/modoboa.yml b/.github/workflows/modoboa.yml index 7422e1eec..393d77d34 100644 --- a/.github/workflows/modoboa.yml +++ b/.github/workflows/modoboa.yml @@ -174,6 +174,8 @@ jobs: yarn build cd .. - name: Build packages + env: + IS_RELEASE: yes run: | sudo apt-get install librrd-dev rrdtool libssl-dev python -m pip install --upgrade pip build diff --git a/modoboa/version.py b/modoboa/version.py index 4d607c217..0e78cf4fa 100644 --- a/modoboa/version.py +++ b/modoboa/version.py @@ -8,7 +8,8 @@ def local_scheme(version): def get_version(): from setuptools_scm import get_version as default_version github_version = os.environ.get('GITHUB_REF_NAME', None) - if github_version is not None: + is_release = os.environ.get('IS_RELEASE', None) + if is_release is not None and github_version is not None: return github_version return default_version(local_scheme=local_scheme) From 941b4d74e1301163f254f2857ebd5b620c52dd90 Mon Sep 17 00:00:00 2001 From: Spitap Date: Sat, 22 Apr 2023 19:17:39 +0200 Subject: [PATCH 6/7] added debug github version for release --- modoboa/version.py | 1 + 1 file changed, 1 insertion(+) diff --git a/modoboa/version.py b/modoboa/version.py index 0e78cf4fa..5ab368c65 100644 --- a/modoboa/version.py +++ b/modoboa/version.py @@ -10,6 +10,7 @@ def get_version(): github_version = os.environ.get('GITHUB_REF_NAME', None) is_release = os.environ.get('IS_RELEASE', None) if is_release is not None and github_version is not None: + print(f"GITHUB_REF_NAME found, using version: {github_version}") return github_version return default_version(local_scheme=local_scheme) From 201569de16bdfbd79ff1b19f67f5e9818bc4fce7 Mon Sep 17 00:00:00 2001 From: Spitap Date: Sat, 22 Apr 2023 19:20:06 +0200 Subject: [PATCH 7/7] Revert "Print outbox" This reverts commit 1edf95b612c0e97606089a74cf4af465d1eb2e71. --- modoboa/core/tests/test_core.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/modoboa/core/tests/test_core.py b/modoboa/core/tests/test_core.py index 6e316db47..c722432da 100644 --- a/modoboa/core/tests/test_core.py +++ b/modoboa/core/tests/test_core.py @@ -289,6 +289,4 @@ class APICommunicationTestCase(ModoTestCase): mocks.modo_api_instance_update, mocks.modo_api_versions_no_update): management.call_command("communicate_with_public_api") - for mails in mail.outbox: - print(mails.body) self.assertEqual(len(mail.outbox), 1)