When building a source distribution for pipenv, many warning are omitted
since the MANIFEST.in was long time neglected and includes much stuff
which is no longer in the repository or wasn't even there.
This adds and documents a workaround for
https://github.com/pypa/pipenv/issues/4909. It feels a bit weird to
pretend to be CI just to run the test suite, though. Maybe we can do
something about that later.
I ran into a lot of trouble trying to get the tests to run when working
on https://github.com/pypa/pipenv/pull/4908, and that was largely
because the instructions in this CONTRIBUTING.md file seem to have
rotted.
1. The bit about "can be run very simply" is bogus. It's
unfortunately not that simple right now.
2. `make test` (the docker approach) fails for me with this error:
```bash
$ make test
docker-compose up
[+] Running 1/0
⠿ Container pipenv-pipenv-tests-1 Recreated 0.1s
Attaching to pipenv-pipenv-tests-1
pipenv-pipenv-tests-1 | Collecting certifi
pipenv-pipenv-tests-1 | Downloading https://files.pythonhosted.org/packages/37/45/946c02767aabb873146011e665728b680884cd8fe70dde973c640e45b775/certifi-2021.10.8-py2.py3-none-any.whl (149kB)
pipenv-pipenv-tests-1 | Installing collected packages: certifi
pipenv-pipenv-tests-1 | Successfully installed certifi-2021.10.8
pipenv-pipenv-tests-1 | Path: /root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
pipenv-pipenv-tests-1 | Installing Pipenv...
pipenv-pipenv-tests-1 | Obtaining file:///pipenv
pipenv-pipenv-tests-1 | Complete output from command python setup.py egg_info:
pipenv-pipenv-tests-1 | Traceback (most recent call last):
pipenv-pipenv-tests-1 | File "<string>", line 1, in <module>
pipenv-pipenv-tests-1 | File "/pipenv/setup.py", line 55
pipenv-pipenv-tests-1 | print(f"\033[1m{s}\033[0m")
pipenv-pipenv-tests-1 | ^
pipenv-pipenv-tests-1 | SyntaxError: invalid syntax
pipenv-pipenv-tests-1 |
pipenv-pipenv-tests-1 | ----------------------------------------
pipenv-pipenv-tests-1 | Command "python setup.py egg_info" failed with error code 1 in /pipenv/
pipenv-pipenv-tests-1 exited with code 1
```
The docker image it relies upon
(https://hub.docker.com/r/kennethreitz/pipenv-tests) hasn't been
updated in 4 years, so I assume it's just not something people use
anymore?
3. Relatedly, there was a `Dockerfile` at the root of this repo that
appears to be unused. Let me know if it's used somewhere I'm not
realizing, I can add it back!
4. https://kennethreitz.org/essays/be-cordial-or-be-on-your-way seems to
be a broken link now. I found
https://kennethreitz.org/essays/2013/01/27/be-cordial-or-be-on-your-way
on Google.
5. `./run-tests.sh` doesn't work for me. It's failing for the same
reason described by @ncoghlan here:
https://github.com/pypa/pip/issues/7953#issuecomment-611928262. He
said something about a `PIPENV_BOOTSTRAP` environment variable, but I
can't find any information about that.
Signed-off-by: Dan Ryan <dan@danryan.co>
Don't re-clone repos now that this works
Signed-off-by: Dan Ryan <dan@danryan.co>
Prune peeps directory from manifest
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix nonetype uris
Signed-off-by: Dan Ryan <dan@danryan.co>
Manually lock requirements?
Signed-off-by: Dan Ryan <dan@danryan.co>
Update requirementslib - leave context before updating sha
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix requirementslib vcs checkouts
Signed-off-by: Dan Ryan <dan@danryan.co>
fix tmpdir implementation
Signed-off-by: Dan Ryan <dan@danryan.co>
final fix for vcs uris
Signed-off-by: Dan Ryan <dan@danryan.co>
Allow for adding requirements objects directly to pipfile
Signed-off-by: Dan Ryan <dan@danryan.co>
Update piptools patch
Signed-off-by: Dan Ryan <dan@danryan.co>
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix windows testing
Signed-off-by: Dan Ryan <dan@danryan.co>
Update runner
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix powershell script
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix git ssl issues
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix test name
Signed-off-by: Dan Ryan <dan@danryan.co>
Update test publication
Signed-off-by: Dan Ryan <dan@danryan.co>
Only run py36 py37 and py27 for testing
Signed-off-by: Dan Ryan <dan@danryan.co>
Enable linux builds
Signed-off-by: Dan Ryan <dan@danryan.co>
triple parallel
Signed-off-by: Dan Ryan <dan@danryan.co>
Update linux tests
Signed-off-by: Dan Ryan <dan@danryan.co>
Make sure home directory exists
Signed-off-by: Dan Ryan <dan@danryan.co>
Use pipenv to run tests
Signed-off-by: Dan Ryan <dan@danryan.co>
add vendoring script to linux build scripts
Signed-off-by: Dan Ryan <dan@danryan.co>
fix vendoring test
Signed-off-by: Dan Ryan <dan@danryan.co>
Lets try it this way
Signed-off-by: Dan Ryan <dan@danryan.co>
Syntax issue
Signed-off-by: Dan Ryan <dan@danryan.co>
Prune vsts-ci folder from manifest
Signed-off-by: Dan Ryan <dan@danryan.co>
Separate manifest step from vendoring
Signed-off-by: Dan Ryan <dan@danryan.co>
Update vsts vendoring script
Signed-off-by: Dan Ryan <dan@danryan.co>
Syntax error..
Signed-off-by: Dan Ryan <dan@danryan.co>
fix vendoring
Signed-off-by: Dan Ryan <dan@danryan.co>
gah wrong version spec!
Signed-off-by: Dan Ryan <dan@danryan.co>
fix vsts
Signed-off-by: Dan Ryan <dan@danryan.co>
test updates
Signed-off-by: Dan Ryan <dan@danryan.co>
VSTS Syntax error...
Signed-off-by: Dan Ryan <dan@danryan.co>
and fix windows runner
Signed-off-by: Dan Ryan <dan@danryan.co>
maybe...
Signed-off-by: Dan Ryan <dan@danryan.co>
does this one work?
Signed-off-by: Dan Ryan <dan@danryan.co>
how about now
Signed-off-by: Dan Ryan <dan@danryan.co>
fix manifest
Signed-off-by: Dan Ryan <dan@danryan.co>
hmm now windows fails?
Signed-off-by: Dan Ryan <dan@danryan.co>
hmmmm...
Signed-off-by: Dan Ryan <dan@danryan.co>
Conditonal testing uses its own special phase
Signed-off-by: Dan Ryan <dan@danryan.co>