"...git@developer.sourcefind.cn:tsoc/superbenchmark.git" did not exist on "05e137be7df3314419e0589bf913092bd469fb8a"
Unverified Commit d7bb8303 authored by Yifan Xiong's avatar Yifan Xiong Committed by GitHub
Browse files

CLI - Update version to include revision hash and date (#427)

Update version to include revision hash and date in "{last tag}+g{git
hash}.d{date}" format, here're the examples:
* exact tag: 0.6.0
* commit after tag: 0.6.0+gcbb1b34
* commit after tag with local changes: 0.6.0+gcbb1b34.d20221028
parent 7a27732e
...@@ -10,6 +10,7 @@ outputs/ ...@@ -10,6 +10,7 @@ outputs/
# Git # Git
**/.git **/.git
!/.git
**/.gitmodules **/.gitmodules
**/.dockerignore **/.dockerignore
.github/ .github/
......
...@@ -130,6 +130,7 @@ ADD third_party third_party ...@@ -130,6 +130,7 @@ ADD third_party third_party
RUN make -C third_party cuda RUN make -C third_party cuda
ADD . . ADD . .
RUN python3 -m pip install .[nvworker] && \ RUN python3 -m pip install --no-cache-dir .[nvworker] && \
make cppbuild && \ make cppbuild && \
make postinstall make postinstall && \
rm -rf .git
...@@ -126,6 +126,8 @@ ADD third_party third_party ...@@ -126,6 +126,8 @@ ADD third_party third_party
RUN make -C third_party rocm RUN make -C third_party rocm
ADD . . ADD . .
RUN python3 -m pip install .[amdworker] && \ RUN python3 -m pip install --upgrade setuptools && \
python3 -m pip install --no-cache-dir .[amdworker] && \
make cppbuild && \ make cppbuild && \
make postinstall make postinstall && \
rm -rf .git
...@@ -141,6 +141,7 @@ ADD third_party third_party ...@@ -141,6 +141,7 @@ ADD third_party third_party
RUN make ROCBLAS_BRANCH=release/rocm-rel-5.1 -C third_party rocm RUN make ROCBLAS_BRANCH=release/rocm-rel-5.1 -C third_party rocm
ADD . . ADD . .
RUN python3 -m pip install .[amdworker] && \ RUN python3 -m pip install --no-cache-dir .[amdworker] && \
make cppbuild && \ make cppbuild && \
make postinstall make postinstall && \
rm -rf .git
...@@ -18,9 +18,9 @@ ...@@ -18,9 +18,9 @@
import superbench import superbench
try: try:
pkg_resources.require(['pip>=18']) pkg_resources.require(['pip>=18', 'setuptools>=45'])
except (pkg_resources.VersionConflict, pkg_resources.DistributionNotFound): except (pkg_resources.VersionConflict, pkg_resources.DistributionNotFound):
print('Try upgrade pip to latest version, for example, python3 -m pip install --upgrade pip') print('Try upgrade pip/setuptools to latest version, for example, python3 -m pip install --upgrade pip setuptools')
raise raise
here = pathlib.Path(__file__).parent.resolve() here = pathlib.Path(__file__).parent.resolve()
...@@ -48,7 +48,7 @@ def finalize_options(self): ...@@ -48,7 +48,7 @@ def finalize_options(self):
def run(self): def run(self):
"""Fromat the code using yapf.""" """Fromat the code using yapf."""
errno = os.system('python3 -m yapf --in-place --recursive --exclude .git .') errno = os.system('python3 -m yapf --in-place --recursive --exclude .git --exclude .eggs .')
sys.exit(0 if errno == 0 else 1) sys.exit(0 if errno == 0 else 1)
...@@ -76,7 +76,7 @@ def run(self): ...@@ -76,7 +76,7 @@ def run(self):
errno = os.system( errno = os.system(
' && '.join( ' && '.join(
[ [
'python3 -m yapf --diff --recursive --exclude .git .', 'python3 -m yapf --diff --recursive --exclude .git --exclude .eggs .',
'python3 -m mypy .', 'python3 -m mypy .',
'python3 -m flake8', 'python3 -m flake8',
] ]
...@@ -139,10 +139,19 @@ def run(self): ...@@ -139,10 +139,19 @@ def run(self):
keywords='benchmark, AI systems', keywords='benchmark, AI systems',
packages=find_packages(exclude=['tests']), packages=find_packages(exclude=['tests']),
python_requires='>=3.6, <4', python_requires='>=3.6, <4',
use_scm_version={
'local_scheme': 'node-and-date',
'version_scheme': lambda _: superbench.__version__,
'fallback_version': f'{superbench.__version__}+unknown',
},
setup_requires=[
'setuptools_scm',
],
install_requires=[ install_requires=[
'ansible_base>=2.10.9;os_name=="posix"', 'ansible_base>=2.10.9;os_name=="posix"',
'ansible_runner>=2.0.0rc1', 'ansible_runner>=2.0.0rc1',
'colorlog>=6.7.0', 'colorlog>=6.7.0',
'importlib_metadata',
'jinja2>=2.10.1', 'jinja2>=2.10.1',
'joblib>=1.0.1', 'joblib>=1.0.1',
'jsonlines>=2.0.0', 'jsonlines>=2.0.0',
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
"""SuperBench CLI command handler.""" """SuperBench CLI command handler."""
from pathlib import Path from pathlib import Path
from importlib_metadata import version, PackageNotFoundError
from knack.util import CLIError from knack.util import CLIError
from omegaconf import OmegaConf from omegaconf import OmegaConf
...@@ -170,12 +171,15 @@ def process_runner_arguments( ...@@ -170,12 +171,15 @@ def process_runner_arguments(
def version_command_handler(): def version_command_handler():
"""Print the current SuperBench tool version. """Print the current SuperBench tool version in "{last tag}+g{git hash}.d{date}" format.
Returns: Returns:
str: current SuperBench tool version. str: current SuperBench tool version.
""" """
return superbench.__version__ try:
return version('superbench')
except PackageNotFoundError:
return superbench.__version__
def exec_command_handler(config_file=None, config_override=None, output_dir=None): def exec_command_handler(config_file=None, config_override=None, output_dir=None):
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import io import io
import contextlib import contextlib
from functools import wraps from functools import wraps
from knack.testsdk import ScenarioTest, StringCheck, NoneCheck, JMESPathCheck from knack.testsdk import ScenarioTest, StringContainCheck, NoneCheck, JMESPathCheck
from pathlib import Path from pathlib import Path
import superbench import superbench
...@@ -51,7 +51,7 @@ def __init__(self, method_name): ...@@ -51,7 +51,7 @@ def __init__(self, method_name):
def test_sb_version(self): def test_sb_version(self):
"""Test sb version.""" """Test sb version."""
self.cmd('sb version', checks=[StringCheck(superbench.__version__)]) self.cmd('sb version', checks=[StringContainCheck(superbench.__version__)])
def test_sb_deploy(self): def test_sb_deploy(self):
"""Test sb deploy.""" """Test sb deploy."""
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment