Skip to content

Feat/Stage-Cloud-Execution#30

Merged
elwafa merged 7 commits intorelease/v1.2.0-devfrom
feat/Stages
Apr 18, 2026
Merged

Feat/Stage-Cloud-Execution#30
elwafa merged 7 commits intorelease/v1.2.0-devfrom
feat/Stages

Conversation

@elwafa
Copy link
Copy Markdown
Member

@elwafa elwafa commented Apr 17, 2026

This pull request introduces cloud execution support, staged load profiles, and several configuration enhancements to the VoltTest PHP SDK. The main changes include adding a CloudClient for interacting with the VoltTest Cloud API, support for staged load profiles via a new Stage class, and new configuration options such as HTTP timeout. Several exception classes were added to improve error handling, and the CI workflow was updated to include release branches.

Cloud execution support:

  • Added a new CloudClient class to handle API interactions with VoltTest Cloud, including methods for creating tests, starting runs, checking run status, and stopping runs. It features robust error handling for authentication, plan limits, and network issues. (src/CloudClient.php)
  • Introduced the cloud() method in the VoltTest class to enable cloud execution mode and accept an API key, along with setCloudTimeout() to configure the timeout for cloud runs. (src/VoltTest.php)

Staged load profiles:

  • Added a Stage class to represent individual load stages, including validation for duration and target values. (src/Stage.php)
  • Enhanced the Configuration and VoltTest classes to support staged load profiles, including methods to add stages (stage()), and logic to prevent mixing stages with constant load settings. (src/Configuration.php, src/VoltTest.php) [1] [2]

Configuration enhancements:

  • Added support for per-request HTTP timeout configuration via setHttpTimeout() in both Configuration and VoltTest classes. (src/Configuration.php, src/VoltTest.php) [1] [2]
  • Updated the toArray() method in Configuration to output the correct structure depending on whether stages or constant load is used, and to include the HTTP timeout if set. (src/Configuration.php)

Error handling improvements:

  • Introduced several new exception classes for more granular error handling: CloudException, AuthenticationException, CloudConnectionException, PlanLimitException, CloudTimeoutException, and RunFailedException. (src/Exceptions/CloudException.php, src/Exceptions/AuthenticationException.php, src/Exceptions/CloudConnectionException.php, src/Exceptions/PlanLimitException.php, src/Exceptions/CloudTimeoutException.php, src/Exceptions/RunFailedException.php) [1] [2] [3] [4] [5] [6]

CI/CD workflow updates:

  • Updated the GitHub Actions workflow (ci.yml) to trigger on pushes and pull requests to release/* branches in addition to main and develop. (.github/workflows/ci.yml)

@elwafa elwafa merged commit 902154b into release/v1.2.0-dev Apr 18, 2026
12 checks passed
@elwafa elwafa deleted the feat/Stages branch April 18, 2026 11:59
@elwafa elwafa changed the title Feat/stages Feat/Stage-Cloud-Execution Apr 18, 2026
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.

1 participant