You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by av...@apache.org on 2021/03/29 11:06:20 UTC

[ignite] branch ignite-ducktape updated: IGNITE-14422: Version management for ducktape. (#8938)

This is an automated email from the ASF dual-hosted git repository.

av pushed a commit to branch ignite-ducktape
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/ignite-ducktape by this push:
     new 6ca6f8f  IGNITE-14422: Version management for ducktape. (#8938)
6ca6f8f is described below

commit 6ca6f8f80de94afae63a49d0eda7520f6b11ff5f
Author: Sergei Ryzhov <s....@gmail.com>
AuthorDate: Mon Mar 29 14:06:01 2021 +0300

    IGNITE-14422: Version management for ducktape. (#8938)
---
 .../utils/check_dev_version.py}                    | 47 +++++++++++++++++-----
 modules/ducktests/tests/ignitetest/__init__.py     |  5 +--
 .../ducktests/tests/ignitetest/utils/version.py    |  9 +----
 pom.xml                                            | 10 +++++
 4 files changed, 49 insertions(+), 22 deletions(-)

diff --git a/modules/ducktests/tests/ignitetest/__init__.py b/modules/ducktests/tests/checks/utils/check_dev_version.py
similarity index 50%
copy from modules/ducktests/tests/ignitetest/__init__.py
copy to modules/ducktests/tests/checks/utils/check_dev_version.py
index 17b0e62..d991556 100644
--- a/modules/ducktests/tests/ignitetest/__init__.py
+++ b/modules/ducktests/tests/checks/utils/check_dev_version.py
@@ -13,14 +13,39 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# pylint: disable=missing-module-docstring
-# This determines the version of ignitetest that can be published to PyPi and installed with pip
-#
-# Note that in development, this version name can't follow Ignite's convention of having a trailing "-SNAPSHOT"
-# due to python version naming restrictions, which are enforced by python packaging tools
-# (see  https://www.python.org/dev/peps/pep-0440/)
-#
-# Instead, in development branches, the version should have a suffix of the form ".devN"
-#
-# For example, when Ignite is at version 2.9.0-SNAPSHOT, this should be something like "2.9.0-dev"
-__version__ = '2.11.0-dev'
+"""
+Checks DEV_BRANCH version.
+"""
+
+from ignitetest.utils.version import IgniteVersion, DEV_BRANCH, LATEST
+from ignitetest import __version__
+
+
+# pylint: disable=no-self-use
+class CheckDevVersion:
+    """
+    Checks developer version.
+    """
+    def check_dev_version(self):
+        """"
+        Check developer version.
+        """
+        dev = IgniteVersion('dev')
+
+        assert DEV_BRANCH == dev
+        assert DEV_BRANCH.version == dev.version
+
+        index = __version__.find('-')
+
+        if index > 0:
+            ver = IgniteVersion(__version__[:index])
+
+            assert dev > ver
+            assert dev.version > ver.version
+
+        assert dev.is_dev
+
+        assert str(dev) == 'dev'
+
+        assert dev > LATEST
+        assert dev.version > LATEST.version
diff --git a/modules/ducktests/tests/ignitetest/__init__.py b/modules/ducktests/tests/ignitetest/__init__.py
index 17b0e62..c09309e 100644
--- a/modules/ducktests/tests/ignitetest/__init__.py
+++ b/modules/ducktests/tests/ignitetest/__init__.py
@@ -20,7 +20,4 @@
 # due to python version naming restrictions, which are enforced by python packaging tools
 # (see  https://www.python.org/dev/peps/pep-0440/)
 #
-# Instead, in development branches, the version should have a suffix of the form ".devN"
-#
-# For example, when Ignite is at version 2.9.0-SNAPSHOT, this should be something like "2.9.0-dev"
-__version__ = '2.11.0-dev'
+__version__ = '2.11.0-SNAPSHOT'
diff --git a/modules/ducktests/tests/ignitetest/utils/version.py b/modules/ducktests/tests/ignitetest/utils/version.py
index 6f7e333..deaa776 100644
--- a/modules/ducktests/tests/ignitetest/utils/version.py
+++ b/modules/ducktests/tests/ignitetest/utils/version.py
@@ -35,15 +35,10 @@ class IgniteVersion(LooseVersion):
         assert v28 > v27  # assertion passes!
     """
     def __init__(self, version_string):
-        self.is_dev = (version_string.lower() == "dev")
+        self.is_dev = (version_string.lower() == __version__.lower()) or (version_string.lower() == "dev")
         if self.is_dev:
             version_string = __version__
 
-            # Drop dev suffix if present
-            dev_suffix_index = version_string.find(".dev")
-            if dev_suffix_index >= 0:
-                version_string = version_string[:dev_suffix_index]
-
         super().__init__(version_string)
 
     def __str__(self):
@@ -56,7 +51,7 @@ class IgniteVersion(LooseVersion):
         return "IgniteVersion ('%s')" % str(self)
 
 
-DEV_BRANCH = IgniteVersion("dev")
+DEV_BRANCH = IgniteVersion(__version__)
 
 # 2.7.x versions
 V_2_7_6 = IgniteVersion("2.7.6")
diff --git a/pom.xml b/pom.xml
index 166d52f..f8f7ba2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -760,6 +760,16 @@
                                                 <include name="**/build.gradle" />
                                             </fileset>
                                         </replaceregexp>
+
+                                        <echo message="Update ignite.version in ducktests" />
+
+                                        <replaceregexp byline="true" encoding="UTF-8">
+                                            <regexp pattern="(__version__ = ).*$"/>
+                                            <substitution expression="\1'${new.ignite.version}'" />
+                                            <fileset dir="${basedir}/">
+                                                <include name="modules/ducktests/tests/ignitetest/__init__.py" />
+                                            </fileset>
+                                        </replaceregexp>
                                     </target>
                                 </configuration>
                             </execution>