Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integration tests #3417

Draft
wants to merge 160 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
160 commits
Select commit Hold shift + click to select a range
8b3f47a
feat: integration tests: setup_repositories
ytausch Aug 23, 2024
928f01d
feat: integration tests prepare step
ytausch Aug 23, 2024
75207eb
add fastapi dependency
ytausch Aug 24, 2024
f163e67
implement mitmproxy/fastAPI HTTP mocking
ytausch Aug 26, 2024
9017e85
run update_upstream_versions in tests
ytausch Aug 26, 2024
85c279a
run update_upstream_versions in tests
ytausch Aug 26, 2024
7ec1130
gather feedstocks in tests + make graph
ytausch Aug 26, 2024
14d95ec
update upstream versions in tests
ytausch Aug 30, 2024
6c6df63
add other make-graph step
ytausch Aug 30, 2024
c0bb8bf
enable debugging, deploy, don't update pinnings every time
ytausch Aug 30, 2024
bff923f
refactor and fix env vars
ytausch Aug 30, 2024
a34e0dd
add pydantic feedstock as a resource
ytausch Aug 30, 2024
6a50924
add IntegrationTestHelper supporting overwriting feedstock contents
ytausch Aug 30, 2024
3349115
Merge branch 'main' into integration-tests
ytausch Dec 5, 2024
ac251e2
relock, fix install bot code
ytausch Dec 5, 2024
559da82
fix subprocess call
ytausch Dec 5, 2024
dfbf795
set git initial branch
ytausch Dec 5, 2024
fcac4ca
fix tests
ytausch Dec 5, 2024
ddfe29b
set proxy in update-upstream-versions
ytausch Dec 5, 2024
c478c2d
global router + overwrite cf-graph repo
ytausch Dec 5, 2024
c65ce89
reorder steps
ytausch Dec 5, 2024
aa2b8d5
fix install bot code
ytausch Dec 5, 2024
95d47eb
disable random skipping in integration tests
ytausch Dec 5, 2024
4724945
use correct env name for container image
ytausch Dec 5, 2024
d6b5a66
(todo) don't overwrite container image env variables
ytausch Dec 5, 2024
9fc744a
reorder action steps
ytausch Dec 5, 2024
ee50def
fix
ytausch Dec 5, 2024
7d19a53
don't create pinning repo
ytausch Dec 5, 2024
84a5060
debug
ytausch Dec 5, 2024
8479a8d
fix
ytausch Dec 5, 2024
b3c2a83
debug
ytausch Dec 5, 2024
9e15297
debug
ytausch Dec 5, 2024
1d0eaba
also capture stderr
ytausch Dec 5, 2024
4b28a43
use older version for pydantic
ytausch Dec 5, 2024
289fb55
use lowercase proxy
ytausch Dec 5, 2024
2417f74
set DEPLOY_REPO correctly
ytausch Dec 5, 2024
0cbb33c
tmate action
ytausch Dec 6, 2024
255d203
dont use proxy for tmate
ytausch Dec 6, 2024
22f23ff
fix
ytausch Dec 6, 2024
3a5aacf
fix proxy in container
ytausch Dec 6, 2024
65b18ab
fix
ytausch Dec 6, 2024
a1d0ad3
git CLI: don't use proxy
ytausch Dec 6, 2024
39973c5
add make-migrators step
ytausch Dec 6, 2024
5939a01
fix
ytausch Dec 6, 2024
f3c91a5
Merge branch 'main' into integration-tests
ytausch Dec 6, 2024
5dc39a7
relock
ytausch Dec 6, 2024
9fafb3f
don't use with sensitive_env
ytausch Dec 6, 2024
7ec0e1f
fix
ytausch Dec 6, 2024
c8ade5a
fix
ytausch Dec 6, 2024
d1f213a
make GitHub API transparent
ytausch Dec 6, 2024
9d8a0f7
install_bot_code does not need BOT_TOKEN
ytausch Dec 6, 2024
d9f91ee
separate bot user token and regro org token
ytausch Dec 6, 2024
56f9caa
Merge branch 'separate-bot-tokens' into integration-tests
ytausch Dec 6, 2024
2ca2b70
apply fixes
ytausch Dec 6, 2024
63fec86
Merge branch 'separate-bot-tokens' into integration-tests
ytausch Dec 6, 2024
2023229
relock
ytausch Dec 6, 2024
395bbd8
fix token
ytausch Dec 6, 2024
541b314
fix URL request handler
ytausch Dec 8, 2024
52a37f5
fix URL request handler
ytausch Dec 8, 2024
0ee5e35
Revert "Merge branch 'separate-bot-tokens' into integration-tests"
ytausch Dec 9, 2024
8394322
Revert "Merge branch 'separate-bot-tokens' into integration-tests"
ytausch Dec 9, 2024
c1e2e9b
use classic PAT
ytausch Dec 9, 2024
47f4959
remove tmate
ytausch Dec 9, 2024
44a9a1f
use TEST_SETUP_TOKEN
ytausch Dec 9, 2024
067b397
fix: forward headers
ytausch Dec 9, 2024
0dc16ea
fix proxy
ytausch Dec 9, 2024
9e5351c
make PyPI tarfiles transparent
ytausch Dec 9, 2024
b3c9073
route transparent URLs directly by mitmproxy, configure conda-forge org
ytausch Dec 16, 2024
04284a2
use conda-forge-bot-staging everywhere
ytausch Dec 16, 2024
320c71c
fix setup
ytausch Dec 16, 2024
9684e4d
add llvmdev via submodule
ytausch Dec 16, 2024
a028330
add pydantic via submodule
ytausch Dec 16, 2024
2dce94b
run make-migrators twice
ytausch Dec 16, 2024
2959dc9
successfully validate new pydantic version
ytausch Dec 16, 2024
dc93669
remove llvmdev from integration tests
ytausch Jan 7, 2025
5a122fe
Merge remote-tracking branch 'origin/main' into integration-tests
ytausch Jan 8, 2025
1b014ae
Merge branch 'main' into integration-tests
ytausch Jan 8, 2025
c3f767b
relock
ytausch Jan 8, 2025
3f7d5b5
fix conda forge org override
ytausch Jan 8, 2025
f3b051e
fix typo
ytausch Jan 8, 2025
7ad4547
fix todo: override env variables in install_bot_code.sh
ytausch Jan 8, 2025
1f9f742
fix: don't divide by zero
ytausch Jan 8, 2025
0fe9280
Merge branch 'fix-divide-by-zero' into integration-tests
ytausch Jan 8, 2025
cc5a57e
finish docs for integration testing
ytausch Jan 8, 2025
8b8ab07
docs: refer to TRANSPARENT_URLs
ytausch Jan 8, 2025
973d95c
try to run make-migrators a third time
ytausch Jan 8, 2025
db1d975
review: fix branch name
ytausch Jan 14, 2025
8c8cf3d
pin GitHub Actions correctly
ytausch Jan 14, 2025
d9a2aa3
fix: we don't want to change num_try
ytausch Jan 14, 2025
43e69ed
fix: use CONDA_FORGE_ORG
ytausch Jan 14, 2025
f6d4164
move ENV_OVERRIDE_CONDA_FORGE_ORG to settings.py
ytausch Jan 14, 2025
1c0ed33
use debug log level if running workflow in debug mode
ytausch Jan 14, 2025
ad43124
Merge remote-tracking branch 'origin/main' into integration-tests
ytausch Jan 14, 2025
c2e4ea1
refactor: move env variable name to constant
ytausch Jan 14, 2025
f6f63b6
DRY: use identical env variable for cf-graph repository
ytausch Jan 14, 2025
e4b7c7c
Revert "try to run make-migrators a third time"
ytausch Jan 14, 2025
4a98416
docs: fix reference to env variables
ytausch Jan 14, 2025
2def52f
use Docker image name consistently
ytausch Jan 14, 2025
3298b88
refactor: rename DEPLOY_REPO to GRAPH_REPO
ytausch Jan 14, 2025
4961401
fix f-string
ytausch Jan 14, 2025
e9c848c
clarify bug comment
ytausch Jan 14, 2025
96b7a96
move RANDOM_FRAC_TO_UPDATE to settings
ytausch Jan 14, 2025
320328d
resolve TODO
ytausch Jan 14, 2025
285663d
fix docstring
ytausch Jan 14, 2025
8b4ea6b
fix: reorder try clause
ytausch Jan 14, 2025
0a3d8d1
Merge remote-tracking branch 'origin/main' into integration-tests
ytausch Jan 14, 2025
538e50b
fix: add pip install
ytausch Jan 14, 2025
c6a67db
fix: move imports to top-level
ytausch Jan 14, 2025
d60d8b8
add debug logging to proxy
ytausch Jan 14, 2025
2d78cd6
add CODEOWNERS file to automatically request further reviews
ytausch Jan 14, 2025
334d02d
add CODEOWNERS file
ytausch Jan 14, 2025
6845d98
fix: push 1.x branch to pydantic feedstock
ytausch Jan 14, 2025
4bfc63c
Merge remote-tracking branch 'origin/main' into integration-tests
ytausch Jan 20, 2025
aafed46
Merge remote-tracking branch 'origin/main' into integration-tests
ytausch Jan 27, 2025
9e09dbc
relock
ytausch Jan 27, 2025
a72eb37
move proxy mode to conda-forge-feedstock-ops
ytausch Jan 27, 2025
e6ebafc
fix reponses from PyPI API
ytausch Jan 27, 2025
ade2668
retrigger ci
ytausch Feb 7, 2025
5877395
Merge remote-tracking branch 'origin/main' into integration-tests
ytausch Feb 7, 2025
ef432e7
ruff
ytausch Feb 7, 2025
c9c45c4
run integration tests in merge queue
ytausch Feb 7, 2025
cacf8a7
add dummy check for setup-repositories
ytausch Feb 7, 2025
eae1330
run integration tests on PRs from branches
ytausch Feb 8, 2025
148a4a6
remove dummy workflow
ytausch Feb 8, 2025
f1ec5b0
skip on push
ytausch Feb 8, 2025
4fedcf7
review suggestion: reformat
ytausch Feb 8, 2025
867a371
Apply suggestions from code review
ytausch Feb 8, 2025
7fe21f5
separate RANDOM_FRAC_TO_UPDATE for make-graph and update-upstream-ver…
ytausch Feb 9, 2025
6f7b23d
fix comment
ytausch Feb 9, 2025
593a1b9
Merge branch 'main' into integration-tests
beckermr Feb 9, 2025
551bcda
Merge branch 'main' into integration-tests
beckermr Feb 11, 2025
909a5d4
add docstring for settings.py
ytausch Feb 14, 2025
318975c
add type annotations for settings
ytausch Feb 14, 2025
5090805
prevent duplicate kwarg errors
ytausch Feb 14, 2025
c9f52e2
use deferred log expressions
ytausch Feb 14, 2025
ea9f919
clarify mimicked ClonedFeedstockContext warning
ytausch Feb 14, 2025
7b24fa6
remove "environment variables" comment again
ytausch Feb 14, 2025
7535b95
make graph repo default branch configurable
ytausch Feb 14, 2025
fb162b2
defer log expression
ytausch Feb 14, 2025
0d84983
add comment about GITHUB_OUTPUT
ytausch Feb 14, 2025
026fca2
use working-directory instead of cd
ytausch Feb 14, 2025
cbd19ec
fix env var
ytausch Feb 14, 2025
23aa196
clarify docstring
ytausch Feb 14, 2025
3bea225
docs: random.shuffle is in-place
ytausch Feb 14, 2025
3e210d0
add docs to explain test scenario collection
ytausch Feb 14, 2025
ab6e016
fix images
ytausch Feb 14, 2025
41c461e
fix except AttributeError
ytausch Feb 14, 2025
abe3ef3
add shebang
ytausch Feb 14, 2025
2323b89
Update tests_integration/resources/empty-graph/README.md
ytausch Feb 14, 2025
ea48c90
docs: clarify arbitrary test case name
ytausch Feb 14, 2025
3bc5f22
Merge remote-tracking branch 'origin/main' into integration-tests
ytausch Feb 14, 2025
b7694f2
docs: improve wording wro test scenario
ytausch Feb 17, 2025
2487529
begin refactor integration tests to pytest
ytausch Feb 21, 2025
fa0365a
continue refactor integration tests to pytest
ytausch Feb 21, 2025
8c9bc7b
update submodule
ytausch Feb 25, 2025
143d5f3
document mitmproxy
ytausch Mar 4, 2025
6d7d408
Merge remote-tracking branch 'origin/main' into integration-tests
ytausch Mar 4, 2025
56f0879
migrate to xprocess for mitmproxy
ytausch Mar 4, 2025
caa469a
make dir switches benign
ytausch Mar 4, 2025
456ad43
edit gitignore
ytausch Mar 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix reponses from PyPI API
  • Loading branch information
ytausch committed Jan 27, 2025
commit e6ebafcad34e6116f441de67dda3c6c2d1538478
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
{
"alternate-locations": [],
"files": [
{
"core-metadata": {
"sha256": "8891ad1ba9f1dd99bdad181d0ad82ef51517615ed7065bf934397a45ef8d91a3"
},
"data-dist-info-metadata": {
"sha256": "8891ad1ba9f1dd99bdad181d0ad82ef51517615ed7065bf934397a45ef8d91a3"
},
"filename": "pydantic-2.10.1-py3-none-any.whl",
"hashes": {
"sha256": "a8d20db84de64cf4a7d59e899c2caf0fe9d660c7cfc482528e7020d7dd189a7e"
},
"provenance": "https://pypi.org/integrity/pydantic/2.10.1/pydantic-2.10.1-py3-none-any.whl/provenance",
"requires-python": ">=3.8",
"size": 455329,
"upload-time": "2024-11-22T00:58:40.347020Z",
"url": "https://files.pythonhosted.org/packages/e0/fc/fda48d347bd50a788dd2a0f318a52160f911b86fc2d8b4c86f4d7c9bceea/pydantic-2.10.1-py3-none-any.whl",
"yanked": false
},
{
"core-metadata": false,
"data-dist-info-metadata": false,
"filename": "pydantic-2.10.1.tar.gz",
"hashes": {
"sha256": "a4daca2dc0aa429555e0656d6bf94873a7dc5f54ee42b1f5873d666fb3f35560"
},
"provenance": "https://pypi.org/integrity/pydantic/2.10.1/pydantic-2.10.1.tar.gz/provenance",
"requires-python": ">=3.8",
"size": 783717,
"upload-time": "2024-11-22T00:58:43.709945Z",
"url": "https://files.pythonhosted.org/packages/c4/bd/7fc610993f616d2398958d0028d15eaf53bde5f80cb2edb7aa4f1feaf3a7/pydantic-2.10.1.tar.gz",
"yanked": false
},
{
"core-metadata": {
"sha256": "4065bed9e76ea559db6875b14516a3dca5e9dda81fa1d296efa542f90422c558"
},
"data-dist-info-metadata": {
"sha256": "4065bed9e76ea559db6875b14516a3dca5e9dda81fa1d296efa542f90422c558"
},
"filename": "pydantic-2.10.2-py3-none-any.whl",
"hashes": {
"sha256": "cfb96e45951117c3024e6b67b25cdc33a3cb7b2fa62e239f7af1378358a1d99e"
},
"provenance": "https://pypi.org/integrity/pydantic/2.10.2/pydantic-2.10.2-py3-none-any.whl/provenance",
"requires-python": ">=3.8",
"size": 456364,
"upload-time": "2024-11-26T13:02:27.147110Z",
"url": "https://files.pythonhosted.org/packages/d5/74/da832196702d0c56eb86b75bfa346db9238617e29b0b7ee3b8b4eccfe654/pydantic-2.10.2-py3-none-any.whl",
"yanked": false
},
{
"core-metadata": false,
"data-dist-info-metadata": false,
"filename": "pydantic-2.10.2.tar.gz",
"hashes": {
"sha256": "2bc2d7f17232e0841cbba4641e65ba1eb6fafb3a08de3a091ff3ce14a197c4fa"
},
"provenance": "https://pypi.org/integrity/pydantic/2.10.2/pydantic-2.10.2.tar.gz/provenance",
"requires-python": ">=3.8",
"size": 785401,
"upload-time": "2024-11-26T13:02:29.793774Z",
"url": "https://files.pythonhosted.org/packages/41/86/a03390cb12cf64e2a8df07c267f3eb8d5035e0f9a04bb20fb79403d2a00e/pydantic-2.10.2.tar.gz",
"yanked": false
}
],
"meta": {
"_last-serial": 27108195,
"api-version": "1.3"
},
"name": "pydantic",
"versions": [
"2.10.1",
"2.10.2"
]
}
14 changes: 13 additions & 1 deletion tests_integration/definitions/pydantic/version_update.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import json
from pathlib import Path

from fastapi import APIRouter
Expand All @@ -6,15 +7,26 @@

router = APIRouter()

PYPI_SIMPLE_API_RESPONSE = json.loads(
Path(__file__)
.parent.joinpath("resources/pypi_simple_api_response.json")
.read_text()
)


@router.get("/pypi.org/pypi/pydantic/json")
def handle():
def handle_pypi_json_api():
return {
# rest omitted
"info": {"name": "pydantic", "version": "2.10.2"}
}


@router.get("/pypi.org/simple/pydantic/")
def handle_pypi_simple_api():
return PYPI_SIMPLE_API_RESPONSE


def prepare(helper: IntegrationTestHelper):
feedstock_dir = Path(__file__).parent / "resources" / "feedstock"
helper.overwrite_feedstock_contents("pydantic", feedstock_dir)
Expand Down
4 changes: 3 additions & 1 deletion tests_integration/lib/shared.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,9 @@ class GitHubAccount(StrEnum):
"https://raw.githubusercontent.com/regro/cf-graph-countyfair/master/mappings/pypi/name_mapping.yaml",
"https://raw.githubusercontent.com/regro/cf-graph-countyfair/master/mappings/pypi/grayskull_pypi_mapping.json",
"https://api.github.com/*",
"https://pypi.io/packages/source/*", # source archives from PyPI
"https://pypi.io/packages/source/*",
"https://pypi.org/packages/source/*",
"https://files.pythonhosted.org/packages/*",
"https://api.anaconda.org/package/conda-forge/conda-forge-pinning",
"https://api.anaconda.org/download/conda-forge/conda-forge-pinning/*",
"https://binstar-cio-packages-prod.s3.amazonaws.com/*",
Expand Down
Loading