Add script for testing uv against different registries#13615
Conversation
|
Can we define a default list or target that checks that the tests ran against all known registries? |
Yeah, that’s a good idea. |
d9d3be5 to
dfec62c
Compare
|
I've added a cli arg |
dfec62c to
2ca8424
Compare
ca87cc4 to
d0978f7
Compare
370c1f8 to
a7f21d1
Compare
CodSpeed Walltime Performance ReportMerging #13615 will not alter performanceComparing Summary
|
76fc88d to
d4d4172
Compare
1f98945 to
50ae302
Compare
|
I've added support for deriving registry env vars from the 1Password cli tool ( If there is no corresponding field for any of these and an env var has been set in the environment, then that will be used. |
93bb57f to
b10e7c1
Compare
|
I've added a CI integration test that runs the registry test script using GitHub secrets to set the env vars. It is currently running against AWS, Azure, GCP, GitLab, Artifactory, Cloudsmith, and Gemfury. |
3bd558e to
355c819
Compare
d19f593 to
9867c18
Compare
This is mostly restoring #13215. It also includes a one-line fix for #13208 (which resulted from that PR). In particular, Azure was returning 303s which were not being correctly handled. I have also opened another PR (#13754) that refactors and improves the redirect handling here. It also supersedes the fix here. There are some tests failing here but they all pass there. This PR depends on #13615, which adds a script for testing against registries. The test fails for Azure when running against the restored #13215 alone and passes with the fix. It also passes for AWS CodeArtifact, GCP Artifact Registry, JFrog Artifactory, GitLab, and Gemfury in both cases. I also plan to test against Cloudsmith and Nexus.
This is mostly restoring #13215. It also includes a one-line fix for #13208 (which resulted from that PR). In particular, Azure was returning 303s which were not being correctly handled. I have also opened another PR (#13754) that refactors and improves the redirect handling here. It also supersedes the fix here. There are some tests failing here but they all pass there. This PR depends on #13615, which adds a script for testing against registries. The test fails for Azure when running against the restored #13215 alone and passes with the fix. It also passes for AWS CodeArtifact, GCP Artifact Registry, JFrog Artifactory, GitLab, and Gemfury in both cases. I also plan to test against Cloudsmith and Nexus.
This is mostly restoring #13215. It also includes a one-line fix for #13208 (which resulted from that PR). In particular, Azure was returning 303s which were not being correctly handled. I have also opened another PR (#13754) that refactors and improves the redirect handling here. It also supersedes the fix here. There are some tests failing here but they all pass there. This PR depends on #13615, which adds a script for testing against registries. The test fails for Azure when running against the restored #13215 alone and passes with the fix. It also passes for AWS CodeArtifact, GCP Artifact Registry, JFrog Artifactory, GitLab, and Gemfury in both cases. I also plan to test against Cloudsmith and Nexus.
This is mostly restoring #13215. It also includes a one-line fix for #13208 (which resulted from that PR). In particular, Azure was returning 303s which were not being correctly handled. I have also opened another PR (#13754) that refactors and improves the redirect handling here. It also supersedes the fix here. There are some tests failing here but they all pass there. This PR depends on #13615, which adds a script for testing against registries. The test fails for Azure when running against the restored #13215 alone and passes with the fix. It also passes for AWS CodeArtifact, GCP Artifact Registry, JFrog Artifactory, GitLab, and Gemfury in both cases. I also plan to test against Cloudsmith and Nexus.
This PR provides a script that uses environment variables to determine which registries to test. This script is being used to run automated registry tests in CI for AWS, Azure, GCP, Artifactory, GitLab, Cloudsmith, and Gemfury.
You must configure the following required env vars for each registry:
The username defaults to "__token__" but can be optionally set with:
For each configured registry, the test will attempt to install the specified package. Some registries can fall back to PyPI internally, so it's important to choose a package that only exists in the registry you are testing.
Currently, a successful test means that it finds the line “ + <package_name>” in the output. This is because in its current form we don’t know ahead of time what package it is and hence what the exact expected output would be. The advantage if that anyone can run this locally, though they would have to have access to the registries they want to test.
You can also use the
--use-opcommand line argument to derive these test env vars from a 1Password vault (default is "RegistryTests" but can be configured with--op-vault). It will look at all items in the vault with names following the patternUV_TEST_<registry_name>and will derive the env vars as follows: