Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

Commit

Permalink
Installs qemu pip requirements from qemu requirements file
Browse files Browse the repository at this point in the history
  • Loading branch information
perdasilva committed Mar 7, 2019
1 parent 8beea18 commit ec5f6a0
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 2 deletions.
4 changes: 2 additions & 2 deletions ci/docker/qemu/runtime_functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
1 change: 1 addition & 0 deletions ci/docker/qemu/vmcontrol.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.")

Expand Down
4 changes: 4 additions & 0 deletions ci/qemu/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

0 comments on commit ec5f6a0

Please sign in to comment.