|
337 | 337 | remote: -----> Discarding cache since:
|
338 | 338 | remote: - The Python version has changed from 3.12.4 to #{DEFAULT_PYTHON_FULL_VERSION}
|
339 | 339 | remote: - The Pipenv version has changed from 2023.12.1 to #{PIPENV_VERSION}
|
| 340 | + remote: - The editable VCS repository location has changed (and Pipenv doesn't handle this correctly) |
340 | 341 | remote: -----> Installing Python #{DEFAULT_PYTHON_FULL_VERSION}
|
341 | 342 | remote: -----> Installing pip #{PIP_VERSION}
|
342 | 343 | remote: -----> Installing Pipenv #{PIPENV_VERSION}
|
|
348 | 349 | end
|
349 | 350 | end
|
350 | 351 |
|
351 |
| - # This test has to use Python 3.12 until we work around the Pipenv editable VCS dependency |
352 |
| - # cache invalidation bug when using pyproject.toml / PEP517 based installs. |
353 | 352 | context 'when Pipfile contains editable requirements' do
|
354 | 353 | let(:buildpacks) { [:default, 'heroku-community/inline'] }
|
355 | 354 | let(:app) { Hatchet::Runner.new('spec/fixtures/pipenv_editable', buildpacks:) }
|
356 | 355 |
|
357 |
| - it 'rewrites .pth, .egg-link and finder paths correctly for hooks, later buildpacks, runtime and cached builds' do |
| 356 | + it 'rewrites .pth and finder paths correctly for hooks, later buildpacks, runtime and cached builds' do |
358 | 357 | app.deploy do |app|
|
359 | 358 | expect(clean_output(app.output)).to match(Regexp.new(<<~REGEX))
|
360 | 359 | remote: -----> Installing dependencies using 'pipenv install --deploy'
|
361 | 360 | remote: Installing dependencies from Pipfile.lock \\(.+\\)...
|
362 | 361 | remote: -----> Running bin/post_compile hook
|
363 |
| - remote: easy-install.pth:/tmp/build_.+/.heroku/python/src/gunicorn |
364 |
| - remote: easy-install.pth:/tmp/build_.+/packages/local_package_setup_py |
| 362 | + remote: __editable___gunicorn_23_0_0_finder.py:/app/.heroku/python/src/gunicorn/gunicorn'} |
365 | 363 | remote: __editable___local_package_pyproject_toml_0_0_1_finder.py:/tmp/build_.+/packages/local_package_pyproject_toml/local_package_pyproject_toml'}
|
366 |
| - remote: gunicorn.egg-link:/tmp/build_.+/.heroku/python/src/gunicorn |
367 |
| - remote: local-package-setup-py.egg-link:/tmp/build_.+/packages/local_package_setup_py |
| 364 | + remote: __editable___local_package_setup_py_0_0_1_finder.py:/tmp/build_.+/packages/local_package_setup_py/local_package_setup_py'} |
368 | 365 | remote: _pipenv_editable.pth:/tmp/build_.+
|
369 | 366 | remote:
|
370 | 367 | remote: Running entrypoint for the pyproject.toml-based local package: Hello pyproject.toml!
|
371 | 368 | remote: Running entrypoint for the setup.py-based local package: Hello setup.py!
|
372 |
| - remote: Running entrypoint for the VCS package: gunicorn \\(version 20.1.0\\) |
| 369 | + remote: Running entrypoint for the VCS package: gunicorn \\(version 23.0.0\\) |
373 | 370 | remote: -----> Inline app detected
|
374 |
| - remote: easy-install.pth:/tmp/build_.+/.heroku/python/src/gunicorn |
375 |
| - remote: easy-install.pth:/tmp/build_.+/packages/local_package_setup_py |
| 371 | + remote: __editable___gunicorn_23_0_0_finder.py:/app/.heroku/python/src/gunicorn/gunicorn'} |
376 | 372 | remote: __editable___local_package_pyproject_toml_0_0_1_finder.py:/tmp/build_.+/packages/local_package_pyproject_toml/local_package_pyproject_toml'}
|
377 |
| - remote: gunicorn.egg-link:/tmp/build_.+/.heroku/python/src/gunicorn |
378 |
| - remote: local-package-setup-py.egg-link:/tmp/build_.+/packages/local_package_setup_py |
| 373 | + remote: __editable___local_package_setup_py_0_0_1_finder.py:/tmp/build_.+/packages/local_package_setup_py/local_package_setup_py'} |
379 | 374 | remote: _pipenv_editable.pth:/tmp/build_.+
|
380 | 375 | remote:
|
381 | 376 | remote: Running entrypoint for the pyproject.toml-based local package: Hello pyproject.toml!
|
382 | 377 | remote: Running entrypoint for the setup.py-based local package: Hello setup.py!
|
383 |
| - remote: Running entrypoint for the VCS package: gunicorn \\(version 20.1.0\\) |
| 378 | + remote: Running entrypoint for the VCS package: gunicorn \\(version 23.0.0\\) |
384 | 379 | REGEX
|
385 | 380 |
|
386 | 381 | # Test rewritten paths work at runtime.
|
387 | 382 | expect(app.run('bin/test-entrypoints.sh')).to include(<<~OUTPUT)
|
388 |
| - easy-install.pth:/app/.heroku/python/src/gunicorn |
389 |
| - easy-install.pth:/app/packages/local_package_setup_py |
| 383 | + __editable___gunicorn_23_0_0_finder.py:/app/.heroku/python/src/gunicorn/gunicorn'} |
390 | 384 | __editable___local_package_pyproject_toml_0_0_1_finder.py:/app/packages/local_package_pyproject_toml/local_package_pyproject_toml'}
|
391 |
| - gunicorn.egg-link:/app/.heroku/python/src/gunicorn |
392 |
| - local-package-setup-py.egg-link:/app/packages/local_package_setup_py |
| 385 | + __editable___local_package_setup_py_0_0_1_finder.py:/app/packages/local_package_setup_py/local_package_setup_py'} |
393 | 386 | _pipenv_editable.pth:/app
|
394 | 387 |
|
395 | 388 | Running entrypoint for the pyproject.toml-based local package: Hello pyproject.toml!
|
396 | 389 | Running entrypoint for the setup.py-based local package: Hello setup.py!
|
397 |
| - Running entrypoint for the VCS package: gunicorn (version 20.1.0) |
| 390 | + Running entrypoint for the VCS package: gunicorn (version 23.0.0) |
398 | 391 | OUTPUT
|
399 | 392 |
|
400 | 393 | # Test that the cached .pth files work correctly.
|
|
404 | 397 | remote: -----> Installing dependencies using 'pipenv install --deploy'
|
405 | 398 | remote: Installing dependencies from Pipfile.lock \\(.+\\)...
|
406 | 399 | remote: -----> Running bin/post_compile hook
|
407 |
| - remote: easy-install.pth:/tmp/build_.+/.heroku/python/src/gunicorn |
408 |
| - remote: easy-install.pth:/tmp/build_.+/packages/local_package_setup_py |
| 400 | + remote: __editable___gunicorn_23_0_0_finder.py:/app/.heroku/python/src/gunicorn/gunicorn'} |
409 | 401 | remote: __editable___local_package_pyproject_toml_0_0_1_finder.py:/tmp/build_.+/packages/local_package_pyproject_toml/local_package_pyproject_toml'}
|
410 |
| - remote: gunicorn.egg-link:/tmp/build_.+/.heroku/python/src/gunicorn |
411 |
| - remote: local-package-setup-py.egg-link:/tmp/build_.+/packages/local_package_setup_py |
| 402 | + remote: __editable___local_package_setup_py_0_0_1_finder.py:/tmp/build_.+/packages/local_package_setup_py/local_package_setup_py'} |
412 | 403 | remote: _pipenv_editable.pth:/tmp/build_.+
|
413 | 404 | remote:
|
414 | 405 | remote: Running entrypoint for the pyproject.toml-based local package: Hello pyproject.toml!
|
415 | 406 | remote: Running entrypoint for the setup.py-based local package: Hello setup.py!
|
416 |
| - remote: Running entrypoint for the VCS package: gunicorn \\(version 20.1.0\\) |
| 407 | + remote: Running entrypoint for the VCS package: gunicorn \\(version 23.0.0\\) |
417 | 408 | remote: -----> Inline app detected
|
418 |
| - remote: easy-install.pth:/tmp/build_.+/.heroku/python/src/gunicorn |
419 |
| - remote: easy-install.pth:/tmp/build_.+/packages/local_package_setup_py |
| 409 | + remote: __editable___gunicorn_23_0_0_finder.py:/app/.heroku/python/src/gunicorn/gunicorn'} |
420 | 410 | remote: __editable___local_package_pyproject_toml_0_0_1_finder.py:/tmp/build_.+/packages/local_package_pyproject_toml/local_package_pyproject_toml'}
|
421 |
| - remote: gunicorn.egg-link:/tmp/build_.+/.heroku/python/src/gunicorn |
422 |
| - remote: local-package-setup-py.egg-link:/tmp/build_.+/packages/local_package_setup_py |
| 411 | + remote: __editable___local_package_setup_py_0_0_1_finder.py:/tmp/build_.+/packages/local_package_setup_py/local_package_setup_py'} |
423 | 412 | remote: _pipenv_editable.pth:/tmp/build_.+
|
424 | 413 | remote:
|
425 | 414 | remote: Running entrypoint for the pyproject.toml-based local package: Hello pyproject.toml!
|
426 | 415 | remote: Running entrypoint for the setup.py-based local package: Hello setup.py!
|
427 |
| - remote: Running entrypoint for the VCS package: gunicorn \\(version 20.1.0\\) |
| 416 | + remote: Running entrypoint for the VCS package: gunicorn \\(version 23.0.0\\) |
428 | 417 | REGEX
|
429 | 418 | end
|
430 | 419 | end
|
|
0 commit comments