Skip to content

[TT-17615] Update the API tests to run in parallel#146

Open
konrad-sol wants to merge 1 commit into
mainfrom
TT-17615_parallel_api_test
Open

[TT-17615] Update the API tests to run in parallel#146
konrad-sol wants to merge 1 commit into
mainfrom
TT-17615_parallel_api_test

Conversation

@konrad-sol

@konrad-sol konrad-sol commented Jul 23, 2026

Copy link
Copy Markdown
Collaborator

Jira Ticket

Changes needed for parallel test execution were added in pytest_ci.ini file, so this action needs to use it.
TT-17615

Description

Type of Change

  • Bug fix
  • New feature / action
  • Refactor / improvement
  • Documentation update
  • CI/CD / workflow change
  • Other (please describe):

Changes Made

  • simplify the API tests execution to use pytest_ci.ini file instead of hardcoding the params in the action itself
  • needed for parallel execution

Testing

  • Manually triggered the affected workflow(s) and verified expected behaviour
  • Checked that existing workflows are not broken

Checklist

  • My changes follow the existing conventions in this repo
  • I have updated relevant documentation (e.g. README.md, action description fields)
  • For changed shell scripts (if applicable): I ran shellcheck, used an appropriate shebang and error handling, and preserved required executable permissions
  • For changed actions/scripts (if applicable): I added or updated validation, tests, or clear manual verification steps
  • For changed JavaScript files (if applicable): I ran the relevant tests and linting/formatting checks
  • For changed Python files (if applicable): I ran the relevant tests and linting/formatting checks
  • For Dockerfile changes (if applicable): I reviewed the base image, build context, image size, and runtime security
  • For changed actions (if applicable): I updated the action.yml interface, defaults, outputs, and examples as needed
  • I reviewed security implications, including least-privilege permissions and safe handling of inputs, secrets, and tokens (if applicable)
  • For workflow changes (if applicable): I reviewed triggers, permissions, concurrency, and fork safety
  • I have assigned a reviewer

@konrad-sol
konrad-sol requested a review from a team July 23, 2026 10:58
@probelabs

probelabs Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

This pull request refactors the API test execution within the api-tests GitHub Action. The primary change is to move the pytest configuration from hardcoded command-line arguments within the action's YAML file to an external configuration file, pytest_ci.ini. This simplifies the action's run step and is intended to enable parallel test execution as configured in the pytest_ci.ini file.

Files Changed Analysis

  • .github/actions/tests/api-tests/action.yaml: Modified to remove a variable holding numerous pytest arguments and updated the execution command to load settings from pytest_ci.ini.

Architecture & Impact Assessment

  • Accomplishment: Centralizes pytest configuration into a dedicated file, decoupling the test runner's setup from the CI workflow script. This change is a prerequisite for running API tests in parallel.
  • Technical Changes: Replaced a hardcoded pytest command with pytest -c pytest_ci.ini, delegating the configuration of parameters like --random-order, --force-flaky, and --maxfail to the .ini file.
  • Affected Components: This change directly impacts the .github/actions/tests/api-tests reusable action. Any CI workflow that utilizes this action will be affected by the new execution method. The application code and its core functionality are not impacted.

Scope Discovery & Context Expansion

  • The modification is confined to the CI/CD infrastructure, specifically the reusable action for API testing. The full impact depends on the contents of the pytest_ci.ini file, which is not included in this pull request. To understand the new test execution behavior (e.g., parallelization settings), one would need to inspect that file in the repository where the action is run.
Metadata
  • Review Effort: 1 / 5
  • Primary Label: chore

Powered by Visor from Probelabs

Last updated: 2026-07-23T10:59:52.042Z | Triggered by: pr_opened | Commit: b84b5a5

💡 TIP: You can chat with Visor using /visor ask <your question>

@probelabs

probelabs Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor
\n\n

Architecture Issues (2)

Severity Location Issue
🟡 Warning .github/actions/tests/api-tests/action.yaml:46
The action's test configuration has been moved to `pytest_ci.ini`, but this file is not part of the review. This makes it impossible to confirm that critical test execution flags (e.g., `--maxfail=3`, `--force-flaky`, `--random-order`) have been preserved. The absence of these flags could negatively impact CI performance and reliability by changing how test failures and flaky tests are handled.
💡 SuggestionEnsure that consuming repositories provide a `pytest_ci.ini` that includes the configurations previously hardcoded in this action. To make this dependency clearer, you could add a comment in the action's YAML file listing the expected settings or link to an example configuration file.
🟡 Warning .github/actions/tests/api-tests/action.yaml:46
The path to the pytest configuration file (`pytest_ci.ini`) is hardcoded within the action. This creates a rigid dependency and limits reusability, as consumers of this action cannot specify a different configuration file if their project structure or needs differ.
💡 SuggestionTo improve flexibility and reusability, make the configuration file path an input parameter for the action. You can set `pytest_ci.ini` as the default value to maintain current behavior for existing users. Example: `inputs: { pytest_config: { default: 'pytest_ci.ini' } }` and then use `${{ inputs.pytest_config }}` in the run step.

✅ Performance Check Passed

No performance issues found – changes LGTM.

✅ Quality Check Passed

No quality issues found – changes LGTM.


Powered by Visor from Probelabs

Last updated: 2026-07-23T10:59:49.223Z | Triggered by: pr_opened | Commit: b84b5a5

💡 TIP: You can chat with Visor using /visor ask <your question>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants