-
Notifications
You must be signed in to change notification settings - Fork 0
feat: refactoring test suite #93
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
Conversation
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.
Pull Request Overview
This pull request modernizes the test suite infrastructure by migrating from requirements.txt files to pyproject.toml with optional dependencies, introducing end-to-end tests as a separate category, and updating the CI/CD workflow for improved dependency management and test organization.
- Migrated dependency management from individual requirements.txt files to centralized pyproject.toml with extras for different test types
- Separated flaky end-to-end tests from functional tests into dedicated end-to-end-test directory
- Updated CI workflow to include end-to-end test execution with proper scheduling and permissions
Reviewed Changes
Copilot reviewed 10 out of 14 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| pyproject.toml | Added complete project configuration with optional dependencies for all test types and pytest markers |
| Makefile | Created comprehensive build targets for installing dependencies and running tests |
| .github/workflows/run_tests.yml | Updated CI workflow to use pyproject.toml, added end-to-end tests job, and adjusted scheduling |
| install-requirements.sh | Added installation script that leverages Makefile targets |
| README.md | Updated documentation to reflect new dependency management and installation process |
| functional-tests/requirements.txt | Removed legacy requirements file |
| functional-tests/pytest.ini | Removed legacy pytest configuration |
| bdd-tests/requirements.txt | Removed legacy requirements file |
| ux-tests/pytest.ini | Removed legacy pytest configuration |
| setup.py | Removed legacy setup file |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Description
List of changes
Migrated dependency management from requirements.txt files to pyproject.toml with extras for functional-tests, bdd-tests, ux-tests, performance-tests, contract-tests, dev, and end-to-end-tests.
Updated Makefile with new targets: install-dev, install-functional, install-bdd, install-ux, install-performance, install-contract, install-end-to-end, test-end-to-end, and check-env.
Moved flaky end-to-end tests (using TEST_TIMEOUT_SEC) from functional-tests/tests/ to new end-to-end-test/tests/ folder.
Added pytest markers and testpaths to pyproject.toml for consistent configuration.
Updated .github/workflows/run_tests.yml: added EndToEnd input, EndToEnd_Tests job (after Contract_Tests), updated Aggregate_Results to include end-to-end results, added permissions: contents: read, adjusted cron to '0 6 * * *' (08:00 CEST).
Removed legacy files (requirements.txt, setup.py, pytest.ini)
Updated gpd-test/docker/Dockerfile to install from pyproject.toml instead of requirements.txt.
Motivation and context
Migrated to pyproject.toml for modern Python packaging and better dependency isolation. Separated flaky end-to-end tests to avoid impacting CI stability. Updated CI workflow to include end-to-end suite with proper aggregation and permissions for security. Adjusted schedule to run at 08:00 local time. Archived legacy files after verification.
Aggregation level
Test type
Type of changes
Test Results
Did you update secrets accordingly?
.secrets_template.yamlDid you update dependencies accordingly?
Other information