Unverified Commit 64174583 authored by Jinjing Zhou's avatar Jinjing Zhou Committed by GitHub
Browse files

[Test] Regression test script update (#1313)

* regression test

* script
parent eb0c954c
...@@ -2,66 +2,59 @@ ...@@ -2,66 +2,59 @@
// The version of the config file format. Do not change, unless // The version of the config file format. Do not change, unless
// you know what you are doing. // you know what you are doing.
"version": 1, "version": 1,
// The name of the project being benchmarked // The name of the project being benchmarked
"project": "dgl", "project": "dgl",
// The project's homepage // The project's homepage
"project_url": "https://github.com/dmlc/dgl", "project_url": "https://github.com/dmlc/dgl",
// The URL or local path of the source code repository for the // The URL or local path of the source code repository for the
// project being benchmarked // project being benchmarked
"repo": "https://github.com/dmlc/dgl.git", "repo": "https://github.com/dmlc/dgl.git",
// The Python project's subdirectory in your repo. If missing or // The Python project's subdirectory in your repo. If missing or
// the empty string, the project is assumed to be located at the root // the empty string, the project is assumed to be located at the root
// of the repository. // of the repository.
// "repo_subdir": "", // "repo_subdir": "",
// Customizable commands for building, installing, and // Customizable commands for building, installing, and
// uninstalling the project. See asv.conf.json documentation. // uninstalling the project. See asv.conf.json documentation.
// //
"install_command": ["in-dir={env_dir} python -mpip install --pre dgl-cu101"], "install_command": [
"build_command": ["python -c \"print('skip')\""], "in-dir={env_dir} python -c \"print('skip')\""
"uninstall_command": ["return-code=any python -mpip uninstall -y dgl-cu101"], ],
"build_command": [
"python -c \"print('skip')\""
],
"uninstall_command": [
"return-code=any python -mpip uninstall -y dgl"
],
// "build_command": [ // "build_command": [
// "python setup.py build", // "python setup.py build",
// "PIP_NO_BUILD_ISOLATION=false python -mpip wheel --no-deps --no-index -w {build_cache_dir} {build_dir}" // "PIP_NO_BUILD_ISOLATION=false python -mpip wheel --no-deps --no-index -w {build_cache_dir} {build_dir}"
// ], // ],
// List of branches to benchmark. If not provided, defaults to "master" // List of branches to benchmark. If not provided, defaults to "master"
// (for git) or "default" (for mercurial). // (for git) or "default" (for mercurial).
// "branches": ["master"], // for git // "branches": ["master"], // for git
// "branches": ["default"], // for mercurial // "branches": ["default"], // for mercurial
// The DVCS being used. If not set, it will be automatically // The DVCS being used. If not set, it will be automatically
// determined from "repo" by looking at the protocol in the URL // determined from "repo" by looking at the protocol in the URL
// (if remote), or by looking for special directories, such as // (if remote), or by looking for special directories, such as
// ".git" (if local). // ".git" (if local).
// "dvcs": "git", // "dvcs": "git",
// The tool to use to create environments. May be "conda", // The tool to use to create environments. May be "conda",
// "virtualenv" or other value depending on the plugins in use. // "virtualenv" or other value depending on the plugins in use.
// If missing or the empty string, the tool will be automatically // If missing or the empty string, the tool will be automatically
// determined by looking for tools on the PATH environment // determined by looking for tools on the PATH environment
// variable. // variable.
// "environment_type": "conda", // "environment_type": "conda",
// timeout in seconds for installing any dependencies in environment // timeout in seconds for installing any dependencies in environment
// defaults to 10 min // defaults to 10 min
"install_timeout": 600, "install_timeout": 600,
// the base URL to show a commit for the project. // the base URL to show a commit for the project.
// "show_commit_url": "http://github.com/owner/project/commit/", // "show_commit_url": "http://github.com/owner/project/commit/",
// The Pythons you'd like to test against. If not provided, defaults // The Pythons you'd like to test against. If not provided, defaults
// to the current version of Python used to run `asv`. // to the current version of Python used to run `asv`.
// "pythons": ["2.7", "3.6"], // "pythons": ["2.7", "3.6"],
// The list of conda channel names to be searched for benchmark // The list of conda channel names to be searched for benchmark
// dependency packages in the specified order // dependency packages in the specified order
// "conda_channels": ["conda-forge", "defaults"], // "conda_channels": ["conda-forge", "defaults"],
// The matrix of dependencies to test. Each key is the name of a // The matrix of dependencies to test. Each key is the name of a
// package (in PyPI) and the values are version numbers. An empty // package (in PyPI) and the values are version numbers. An empty
// list or empty string indicates to just test against the default // list or empty string indicates to just test against the default
...@@ -77,7 +70,6 @@ ...@@ -77,7 +70,6 @@
// "six": ["", null], // test with and without six installed // "six": ["", null], // test with and without six installed
// "pip+emcee": [""], // emcee is only available for install with pip. // "pip+emcee": [""], // emcee is only available for install with pip.
// }, // },
// Combinations of libraries/python versions can be excluded/included // Combinations of libraries/python versions can be excluded/included
// from the set to test. Each entry is a dictionary containing additional // from the set to test. Each entry is a dictionary containing additional
// key-value pairs to include/exclude. // key-value pairs to include/exclude.
...@@ -110,31 +102,24 @@ ...@@ -110,31 +102,24 @@
// // additional env if run on windows+conda // // additional env if run on windows+conda
// {"platform": "win32", "environment_type": "conda", "python": "2.7", "libpython": ""}, // {"platform": "win32", "environment_type": "conda", "python": "2.7", "libpython": ""},
// ], // ],
// The directory (relative to the current directory) that benchmarks are // The directory (relative to the current directory) that benchmarks are
// stored in. If not provided, defaults to "benchmarks" // stored in. If not provided, defaults to "benchmarks"
"benchmark_dir": "tests/regression", "benchmark_dir": "tests/regression",
// The directory (relative to the current directory) to cache the Python // The directory (relative to the current directory) to cache the Python
// environments in. If not provided, defaults to "env" // environments in. If not provided, defaults to "env"
// "env_dir": "env", // "env_dir": "env",
// The directory (relative to the current directory) that raw benchmark // The directory (relative to the current directory) that raw benchmark
// results are stored in. If not provided, defaults to "results". // results are stored in. If not provided, defaults to "results".
"results_dir": "regression_results", "results_dir": "regression_results",
// The directory (relative to the current directory) that the html tree // The directory (relative to the current directory) that the html tree
// should be written to. If not provided, defaults to "html". // should be written to. If not provided, defaults to "html".
// "html_dir": "html", // "html_dir": "html",
// The number of characters to retain in the commit hashes. // The number of characters to retain in the commit hashes.
// "hash_length": 8, // "hash_length": 8,
// `asv` will cache results of the recent builds in each // `asv` will cache results of the recent builds in each
// environment, making them faster to install next time. This is // environment, making them faster to install next time. This is
// the number of builds to keep, per environment. // the number of builds to keep, per environment.
// "build_cache_size": 2, // "build_cache_size": 2,
// The commits after which the regression search in `asv publish` // The commits after which the regression search in `asv publish`
// should start looking for regressions. Dictionary whose keys are // should start looking for regressions. Dictionary whose keys are
// regexps matching to benchmark names, and values corresponding to // regexps matching to benchmark names, and values corresponding to
...@@ -147,7 +132,6 @@ ...@@ -147,7 +132,6 @@
// "some_benchmark": "352cdf", // Consider regressions only after this commit // "some_benchmark": "352cdf", // Consider regressions only after this commit
// "another_benchmark": null, // Skip regression detection altogether // "another_benchmark": null, // Skip regression detection altogether
// }, // },
// The thresholds for relative change in results, after which `asv // The thresholds for relative change in results, after which `asv
// publish` starts reporting regressions. Dictionary of the same // publish` starts reporting regressions. Dictionary of the same
// form as in ``regressions_first_commits``, with values // form as in ``regressions_first_commits``, with values
...@@ -158,4 +142,4 @@ ...@@ -158,4 +142,4 @@
// "some_benchmark": 0.01, // Threshold of 1% // "some_benchmark": 0.01, // Threshold of 1%
// "another_benchmark": 0.5, // Threshold of 50% // "another_benchmark": 0.5, // Threshold of 50%
// }, // },
} }
\ No newline at end of file
docker run --name dgl-reg --rm --hostname=reg-machine --runtime=nvidia -v dgl-regression:/root/regression -d -it dgllib/dgl-ci-gpu:conda /bin/bash docker run --name dgl-reg --rm --hostname=reg-machine --runtime=nvidia \
docker cp ./tests/regression/run.sh dgl-reg:/root/regression_run.sh -v /home/ubuntu/asv_workspace:/root/regression \
docker exec dgl-reg bash /root/regression_run.sh -it dgllib/dgl-ci-gpu:conda \
docker cp dgl-reg:/root/regression/dgl/html /home/ubuntu/reg_prod/html/ /bin/bash /root/regression/dgl/tests/regression/run.sh
docker stop dgl-reg \ No newline at end of file
\ No newline at end of file
...@@ -11,12 +11,7 @@ git submodule update --recursive ...@@ -11,12 +11,7 @@ git submodule update --recursive
conda activate base conda activate base
pip install asv pip install asv
for backend in pytorch mxnet tensorflow source /root/regression/dgl/tests/scripts/build_dgl.sh gpu
do
conda activate "${backend}-ci"
pip uninstall -y dgl-cu101
pip install --pre dgl-cu101
done
conda activate base conda activate base
asv machine --yes asv machine --yes
......
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