-
Notifications
You must be signed in to change notification settings - Fork 82
Integration tests #3417
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
Conversation
# Conflicts: # .github/workflows/tests.yml # autotick-bot/install_bot_code.sh # conda-lock.yml # conda_forge_tick/migration_runner.py # conda_forge_tick/provide_source_code.py # conda_forge_tick/rerender_feedstock.py # conda_forge_tick/solver_checks.py # conda_forge_tick/utils.py # environment.yml # tests/test_container_tasks.py
/relock-conda |
tests_integration/__init__.py
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't need this anymore, do we?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We do since we import from this module:
cf-scripts/tests_integration/test_integration.py
Lines 19 to 29 in eb708b0
from tests_integration.lib import ( | |
TestCase, | |
close_all_open_pull_requests, | |
get_all_test_scenario_ids, | |
get_test_scenario, | |
prepare_all_accounts, | |
reset_cf_graph, | |
run_all_prepare_functions, | |
run_all_validate_functions, | |
setup_logging, | |
) |
exit 1 | ||
fi | ||
|
||
# You might need to set PYTHONPATH to the root of cf-scripts |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we enforce this with the appropriate working directory?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PYTHONPATH
is needed because the mock_server_addon
module needs to be able to import from tests_integration
, and there is some weird stuff going on in mitmdump. I just tested again, and changing the working directory to the root of cf-scripts does not make it work without PYTHONPATH
.
I've relocked the dependencies with conda-lock! The following packages have been updated:
|
I won't hold this PR any longer, sorry for the multiple rounds of reviews and extended time it took to get here! I'm very pleased with the result and this is a great improvement for the codebase! So thank you A LOT for the patience 🙏 Let's fix the conflicts and merge right away so we can take this out of our plates! |
Thank you very much! Before merging, let me fix some last issues. I'll post an update when we are ready! |
cc @beckermr for visibility and eventual click-to-merge! I'm too afraid to click that button here 😬 |
extra_container_args=[ | ||
"-e", | ||
f"{ENV_CONDA_FORGE_ORG}={settings().conda_forge_org}", | ||
"-e", | ||
f"{ENV_GRAPH_GITHUB_BACKEND_REPO}={settings().graph_github_backend_repo}", | ||
], | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these additions are a hotfix until we have a solution for conda-forge/conda-forge-feedstock-ops#49
All these conda-lock conflicts make me wonder whether an (additional?) non-main |
I don't follow completely, better suited for what? |
Do you want the commits squashed or kept as is? This PR is big and IDK how much of the history is useful to you here. |
Let's squash |
I'll merge by hand once the tests on this PR pass. |
Description:
This PR adds integration tests to the autotickbot, interacting with a real GitHub test environment. Closes #261 (more details there). This is a "minimal breakthrough" PR, only adding one test for version updates (using the pydantic-feedstock as an example).
Implementation is finished.
In this demo PR in my fork the integration tests actually run (needs token setup): ytausch#2
I've added a
CODEOWNERS
file to automatically request reviews from me if anything related to the tests change. On this occasion, I've also added a selection of other files where I am the main contributor. Hope you're fine with this!@pavelzw
Checklist:
Cross-refs, links to issues, etc:
run_container_operation
conda-forge/conda-forge-feedstock-ops#34