Closed Bug 964460 Opened 10 years ago Closed 8 years ago

Test DXR package installation somehow

Categories

(Webtools Graveyard :: DXR, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: erik, Unassigned)

Details

Currently, we test it in place, which is good for validating the developer experience with the Vagrant box and which works well with our current practice of parking the tests outside the package (and not shipping them with it). However, in production, we setup.py install DXR before doing anything with it, and this test strategy doesn't validate that that will work. For example, we recently allowed a bad build into stage because the bad MANIFEST.in didn't get tested. Other things in which mistakes wouldn't be caught are setup.py and requirements.txt.

Figure out how best to test realistic production use cases, and test them.
Commit pushed to master at https://github.com/mozilla/dxr

https://github.com/mozilla/dxr/commit/a7e2e99072eb8d58ccd93049a8ce60e49e3d5c50
Replace Vagrant with Docker. Fix bug 1139516. Fix bug 1068854. Fix bug 1220965. Fix bug 964460. Close #494, close #488, and close #415.

Future:
* Refactor things so they're more reusable in prod.
* Maybe publish docker images. What use is this? Will it make deploys any faster or more reliable? How do people trust them?
* Pass ES_HEAP_SIZE (or something) env var through to the es container, as described at https://hub.docker.com/r/library/elasticsearch/.
* Make sure ES data persists across container instantiations.
* Call docker-machine automatically on the Mac.
* Maybe we can move the venv back out of the source dir for performance. With docker-compose in the picture now, we may be able to convince it with volumes-from or something to not evaporate things outside the source dir from one "make shell" to the next.
* When docker-compose supports --build-arg (docker/compose#2111), we can add one for UID so we can, from an env var on the host, set the UID of the unprivileged user in the container. This will solve the problem of non-matching UIDs for Linux devs and let us get rid of the chmod in Travis.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Specifically, Travis now tests a non-editable install of dxr, by passing DXR_PROD=1 to make.
Product: Webtools → Webtools Graveyard
You need to log in before you can comment on or make changes to this bug.