Commit Graph

79 Commits

Author SHA1 Message Date
Oz Tiram a5a6069246 chore: bump pypi-server version to 2.3.2 (#6353)
* 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>
2025-03-09 08:38:14 -04:00
Oz Tiram 33f8e7592b chore: drop python3.8
Signed-off-by: Oz Tiram <oz.tiram@gmail.com>
2025-01-22 21:51:50 +01:00
Matt Davis c2665b45ec Remove peep process 2024-10-29 22:35:03 +01:00
Matt Davis 9d7dc56ded don't try to bump to dev version during pypi publish. 2024-09-29 18:36:42 -04:00
Matt Davis 5203455fff Try adding python 3.13to the CI 2024-09-13 23:23:26 +02:00
Oz Tiram a76221bba0 ci: reactivate bumping of the version in GH actions
Signed-off-by: Oz Tiram <oz.tiram@gmail.com>
2024-07-13 22:31:39 +02:00
Oz Tiram aa045ba4f8 ci: remove unsupported --commit
The --commit flag was removed in
0379507abb

Hence, the invoke task fails.

Signed-off-by: Oz Tiram <oz.tiram@gmail.com>
2024-07-13 22:31:39 +02:00
Matt Davis 083e2da339 Fix other issues affecting the CI 2024-05-23 23:38:51 -04:00
Matt Davis b1c14a2e18 Convert off pkg resources (#6139)
* 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.
2024-04-26 20:49:39 -04:00
Oz Tiram b77b21151c ci: update python setup job
Signed-off-by: Oz Tiram <oz.tiram@gmail.com>
2024-04-25 13:01:14 +02:00
Matt Davis 0379507abb Update release script to enforce semver going forward in 2024 (#6052)
* 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
2024-01-21 21:16:56 -05:00
Trenton H ef5383296a Updates the action to create a release to a maintained version 2023-11-22 09:03:34 -08:00
Matt Davis 1b3b61eb21 Python 3.12 support (passing) (#5987)
* pipenv support for python 3.12
2023-10-24 17:26:12 -04:00
engineerakki 527cfd0592 ci: fix ruff linter 2023-10-19 08:22:18 +02:00
Matt Davis 5df6d9c815 Drop 3.7 test runner (#5922)
* Drop 3.7 test runner and invoke 3.12

* Ok 3.12 on windows still hangs
2023-09-07 15:39:11 +02:00
Christian Clauss 8caf8fb1fc Python 3.12 test are failing on Linux, macOS, and Windows 2023-09-05 18:14:22 +02:00
Christian Clauss 6d0dd46f68 pre-commit: Add pyproject-fmt 2023-09-05 17:50:02 +02:00
kalebmckale 5f220a0a36 Replace "python setup.py" builds with "python -m build"
Found left-over remnants of `setup.py` install and updated with current
build method using `build` package.
2023-09-01 08:57:17 -04:00
Matt Davis 6ac1451ec8 stop using requirementslib models (#5793)
* 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.
2023-08-19 16:36:52 -04:00
Christian Clauss 44e8aebc41 ruff --select=FLY,UP --target-version=py37 --fix . 2023-06-30 08:36:14 +02:00
Matt Davis 99800ec7a2 Requirementslib==2.3.0 (#5672)
* Bump requirementslib that drops vistir.

* Add news fragment

* Add missing file

* Remove vistir entirely

* fix circular import

* revert issue that may be causing circular import issue

* Hackaround current pythonfinder version importlib usage.

* PR Feedback

* fix lint
2023-04-29 19:22:28 +02:00
Matt Davis adf586c837 Remove foresight (#5669)
* Revert "Add Foresight status badge to README"

This reverts commit 57bb1e5ccb.

* resolve conflict
2023-04-27 16:50:47 +02:00
Matt Davis 740c3c0865 Vendor in latest packages available (#5657)
* Update to the latest vendoring package versions available.

* add news fragment

* fix vendoring CI
2023-04-18 15:34:41 +02:00
Bill Nottingham 424f7ead67 Require the actual 'beautifulsoup4' package, not the 'bs4' redirect. (#5620)
* Require the actual 'beautifulsoup4' package, not the 'bs4' redirect.

* Add changelog.
2023-02-28 07:43:25 +01:00
Matt Davis a81af08c7c Try matching how bdist_wheel is built locally. 2022-11-24 16:49:55 -05:00
Oz Tiram d1716a7b26 vendor: remove references to parse in vendor script
Install parse in the vendor environment, as it is still
used.
2022-11-20 17:25:03 +01:00
Oz Tiram 615f516d63 move concurrency to the top 2022-11-18 20:55:29 +01:00
Oz Tiram decfa6d9f7 Try again ... 2022-11-18 20:52:52 +01:00
Oz Tiram c71cb8f133 Fix syntax of CI job 2022-11-18 20:51:40 +01:00
Oz Tiram 428e973264 Allow starting CI jobs manually 2022-11-18 20:47:12 +01:00
Christian Clauss 5d7a0ee0c5 Add Python 3.11 release candidate to the testing 2022-11-05 22:21:33 +01:00
Oz Tiram 6f8831316c CI: pin python version for vendoring
Invoke does not support Python3.11
2022-11-04 10:49:54 +01:00
Oz N Tiram 73149a970c Merge branch 'main' into pip-22.3 2022-10-25 10:06:33 +02:00
gokhan721 1569a313ab added foresight workflow and test kit actions 2022-10-21 16:55:11 +03:00
Matt Davis 7e44219f25 Use latest python in vendoring. 2022-10-16 09:46:50 -04:00
AlexNDRmac 7b98aa2223 Replace deprecated workflow command 2022-10-12 18:50:02 +03:00
Alex 7ef550afca GitHub Workflows security hardening (#5365)
* build: harden pypi_upload.yml permissions
Signed-off-by: Alex <aleksandrosansan@gmail.com>

* build: harden ci.yaml permissions
Signed-off-by: Alex <aleksandrosansan@gmail.com>
2022-09-20 15:41:21 -04:00
Matt Davis 9848862927 Convert test runner to use pypiserver package as standalone process (#5284)
* 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.
2022-09-05 10:19:12 -04:00
Matt Davis cd18f8fefc More iterating on a problem. 2022-08-19 07:52:08 +02:00
Matt Davis bd9d62d907 More iterating on a problem. 2022-08-19 07:52:08 +02:00
Matt Davis 692f79dc75 More iterating on a problem. 2022-08-19 07:52:08 +02:00
Matt Davis 58e552cb56 this change did not help. 2022-08-19 07:52:08 +02:00
Matt Davis fb0ffa1491 Eperimenting with the CI failures due to setuptools upgrade. 2022-08-19 07:52:08 +02:00
Christian Clauss 48fad66814 Upgrade GitHub Actions (#5244)
* Upgrade GitHub Actions
2022-08-13 10:24:13 -04:00
Matt Davis fbb1a5a6e7 Update pypi release action. 2022-08-13 08:41:29 -04:00
Matt Davis 56b94971a8 Add back these setuptools steps. 2022-08-07 22:53:26 +02:00
Matt Davis af9460ecde This is possibly no longer required and could be breaking the build. 2022-08-07 22:53:26 +02:00
Matt Davis 9200fe1635 Reenable these tests again on the Windows CI. (#5163)
* reenable these skipped tests on the Windows CI as they appear to be passing again.
2022-07-05 23:55:39 -04:00
Matt Davis 0ee8234890 Issue 5000 remove requests certifi (#5146)
* 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.
2022-06-27 21:13:30 +02:00
Tomas Orsava ac005b913f Make the CI work 2022-05-26 15:07:51 +02:00