* chore: bump pypi-server version to 2.3.2
This version supports modern python versions
Signed-off-by: Oz Tiram <oz.tiram@gmail.com>
* chore: pin dev dependencies
These were breaking on python3.8 which is now EOL.
Signed-off-by: Oz Tiram <oz.tiram@gmail.com>
* fix: attempt checking which pypi-server is installed
Signed-off-by: Oz Tiram <oz.tiram@gmail.com>
* ci: don't run pypi-server via pipenv
Signed-off-by: Oz Tiram <oz.tiram@gmail.com>
* ci: simplify pipeline
Signed-off-by: Oz Tiram <oz.tiram@gmail.com>
* ci: work around issue with pypi-server and older python
It failes to start with:
usage: pypi-server run [-h] [-v] [--log-file FILE] [--log-stream STREAM]
[--log-frmt FORMAT] [--hash-algo HASH_ALGO]
[--backend {auto,simple-dir,cached-dir}] [--version]
[-p PORT] [-i HOST] [-a AUTHENTICATE]
[-P PASSWORD_FILE] [--disable-fallback]
[--fallback-url FALLBACK_URL]
[--health-endpoint HEALTH_ENDPOINT] [--server METHOD]
[-o] [--welcome HTML_FILE] [--cache-control AGE]
[--log-req-frmt FORMAT] [--log-res-frmt FORMAT]
[--log-err-frmt FORMAT]
[package_directory ...]
pypi-server run: error: argument --welcome: invalid html_file_arg value:
'pypiserver/welcome.html'
But only on those versions.
Signed-off-by: Oz Tiram <oz.tiram@gmail.com>
* ci: on windows also conditionally use pipenv with pypi-server
Signed-off-by: Oz Tiram <oz.tiram@gmail.com>
* ci: windows worker have default powershell
Signed-off-by: Oz Tiram <oz.tiram@gmail.com>
* ci: revert usage of power shell
Signed-off-by: Oz Tiram <oz.tiram@gmail.com>
* ci: add installation of gunicorn and waitress
Signed-off-by: Oz Tiram <oz.tiram@gmail.com>
---------
Signed-off-by: Oz Tiram <oz.tiram@gmail.com>
* Conversion off pkg_resources
* prepapre to vendor in latest pipdeptree
* Vendor in latest pipdeptree to solve some of the pkg_resources conversion errors.
* Convert outdated off pkg_resource to importlib.metadata.
* According to https://discuss.python.org/t/module-importlib-has-no-attribute-metadata/20947/10 I should remove this import.
* Try upgrading the setup-python actions
* vendor in importlib-metadata
* Use the vendored importlib-metadata
* Require zipp for the importlib_metadata vendoring
* prepare to vendor in zipp since the CI isolates this from the actual env where zipp got installed
* vendor in zipp since the CI isolates this from the actual env where zipp got installed
* Go with the version of importlib-metadata that targets the 3.11 sdlib
* 4.x had the same issue with python 3.8; until we drop it we may have to patch importlib-metadata version that we vendor.
* attempt to account for is_relative_to not available in py3.8
* pip's packaging version is behind what we need to work with pipdeptree
* modify patch for new version of pipdeptree
* Verify patch works now with revendoring
* add branch for 3.8 until we can drop support for it
* Adjust conditional and add news fragment
* Deduplicate code
* and safety is dependent on the pip's packaging version (for now).
* Handle inconsistency in graph output in this test for time being
* PR Feedback
* Fix our remaining usages (yes I found more)
* Skip this test on windows 3.8 -- 3.8 will be dropped end of the year anyway.
* Update release script to enforce semver going forward in 2024
* Update pipfile/lock for semver
* fix readme
* Update CI vendoring step for semver
* Dependeapot warning about version of pytest we are on
* remove options from help
* Move away from requirementslib models
* Revise test since PEP-440 does not support wildcard versions but does support equivalent compatible release specifiers.
* simplify and remove dead code
* Ensure the os_name marker is AND with the other markers.
* Move what we still need from requirementslib into the pipenv utils and stop vendoring it.
* Remove requirementslib.
* force upgrade of virtualenv for python 3.12
* remove virtualenv-clone
* Update vcs specifiers documentation; infer name from specific pip line formats where possible.
* Provide helpful text and error for recently removed commands
* Set the right log levels and verbosity to show users the errors generated by pip resolver when supplying -v flag
* Fix the collection of all matching package hashes for non-pypi indexes. Plus lesson from testing torch which contains local identifiers.
* Check point progress on moving tests to pypiserver.
* Allow other indexes to mimic the pypi json API for package hashes.
* Fix these tests that run on lower python versions only.
* Try adding the pypiserver to the github actions to only run once.
* Expand the scope of fixtures for pypiserver.
* try to accomedate microsoft runner.
* Windows networking troubles.
* Remove running as a background job.
* Try to condtionally invoke different start pypi-server commands
* Try to condtionally invoke different start pypi-server commands
* Try to condtionally invoke different start pypi-server commands
* Try to condtionally invoke different start pypi-server commands
* Try to condtionally invoke different start pypi-server commands
* Try to condtionally invoke different start pypi-server commands
* Try to condtionally invoke different start pypi-server commands
* Try to introduce pypi as the root index because setuptools-scm is not in our pypi artifacts.
* see if the windows tests run faster (and the other tests) by supplying waitress.
* Only use waitress on windows because the others are fast on the default. Fix requests pollution.
* Supply a suitable Pipfile instead for these two failing tests.
* More requests resolver cross test contamination cleanup.
* remove problematic tests because even on my version of python 3.8.12 this does not work due to AttributeError: 'HTMLParser' object has no attribute 'unescape'
* fix mirror install test.
* Fix Pipfile.
* Fix Pipfile for real
* Fix tests
* Cleanup test naming and more test enhancements.
* Save this optimization for a subsequent PR.
* Cleanup the TemporaryDirectory between tests.
* resolve merge conflict.
* Cleanup path initalization -- it hsould always be a TemporaryDirectory for tests that gets cleanedup.
* Cleanup path initalization -- it hsould always be a TemporaryDirectory for tests that gets cleanedup.
* tableflip on those requests tests that read the setup metadata in reqlib from other tests.
* Update developer documentation for running tests.
* add news fragment.
* Try gunicorn perfoormance for linux/mac
* Only use gunicorn on linux based on the results of last run.
* Depend on requests and certifi from vendored pip and remove it as explicit vendor dependency.
* Documentation tweak.
* Add a news fragment.
* Update remaining vendor dependencies to point at the pip requests.
* vendoring task needs requests.