diff --git a/ci/docker/qemu/runtime_functions.py b/ci/docker/qemu/runtime_functions.py index 8b8e5acb503c..2d4785d1126a 100755 --- a/ci/docker/qemu/runtime_functions.py +++ b/ci/docker/qemu/runtime_functions.py @@ -77,8 +77,8 @@ def run_ut_python3_qemu_internal(): logging.info("=== NOW Running inside QEMU ===") logging.info("PIP Installing %s", pkg) check_call(['sudo', 'pip3', 'install', pkg]) - logging.info("PIP Installing mxnet/tests/requirements.txt") - check_call(['sudo', 'pip3', 'install', '-r', 'mxnet/tests/requirements.txt']) + logging.info("PIP Installing mxnet/mxnet_requirements.txt") + check_call(['sudo', 'pip3', 'install', '-r', 'mxnet/mxnet_requirements.txt']) logging.info("Running tests in mxnet/tests/python/unittest/") check_call(['nosetests', '--with-timer', '--with-xunit', '--xunit-file', 'nosetests_unittest.xml', '--verbose', 'mxnet/tests/python/unittest/test_engine.py']) # Example to run a single unit test: diff --git a/ci/docker/qemu/vmcontrol.py b/ci/docker/qemu/vmcontrol.py index d80e22b1db85..3fe2164af923 100644 --- a/ci/docker/qemu/vmcontrol.py +++ b/ci/docker/qemu/vmcontrol.py @@ -228,6 +228,7 @@ def qemu_provision(ssh_port=QEMU_SSH_PORT): qemu_rsync(ssh_port, x, 'mxnet_dist/') qemu_rsync(ssh_port, '/work/runtime_functions.py','') qemu_rsync(ssh_port, '/work/vmcontrol.py','') + qemu_rsync(ssh_port, 'mxnet/ci/qemu/mxnet_requirements.txt', 'mxnet_requirements.txt') qemu_rsync(ssh_port, 'mxnet/tests', 'mxnet') logging.info("Provisioning completed successfully.") diff --git a/ci/qemu/README.md b/ci/qemu/README.md index 498f8b7a8739..edaaaefa3b16 100644 --- a/ci/qemu/README.md +++ b/ci/qemu/README.md @@ -86,3 +86,7 @@ pip3 install -r mxnet_requirements.txt To access qemu control console from tmux: `ctrl-a a c` + +# CI and Testing + +Formally, [runtime_functions.py](https://github.com/apache/incubator-mxnet/blob/master/ci/docker/qemu/runtime_functions.py) would [run](https://github.com/apache/incubator-mxnet/blob/8beea18e3d9835f90b59d3f9de8f9945ac819423/ci/docker/qemu/runtime_functions.py#L81) *pip install -r [mxnet/tests/requirements.txt](https://github.com/apache/incubator-mxnet/blob/master/tests/requirements.txt)*. If the requirements change, there can be an unfortunate side-effect that there are no wheel files for Raspberry Pi for the new requirement. This would trigger a build from source on the emulator, which can take a long time and cause job timeouts. Therefore, we no longer install the `tests/requirements.txt` requirements, but rather rely on [mxnet-requirements.txt](https://github.com/apache/incubator-mxnet/blob/master/ci/qemu/mxnet_requirements.txt) to maintain the requirements for the qemu tests. Should any requirements changes lead to a job time out, it is incumbent on the submitter to update the image to include the requirement and unblock ci.