Skip to content

Add k6 CRUD Tests workflow#634

Open
sagarswamirao wants to merge 11 commits intomainfrom
sagark/k6-crud-test
Open

Add k6 CRUD Tests workflow#634
sagarswamirao wants to merge 11 commits intomainfrom
sagark/k6-crud-test

Conversation

@sagarswamirao
Copy link
Collaborator

  • Introduced a new GitHub Actions workflow for k6 CRUD tests, triggered on pushes and pull requests to the main branch.
  • The workflow includes steps for setting up Node.js, installing Bun, caching dependencies, building the server, and running k6 tests for CRUD operations on projects, connections, and packages.
  • Enhanced server readiness checks and ensured proper environment configurations for testing.

These changes establish a comprehensive testing framework for k6, improving the reliability of performance testing in the project.

- Introduced a new GitHub Actions workflow for k6 CRUD tests, triggered on pushes and pull requests to the main branch.
- The workflow includes steps for setting up Node.js, installing Bun, caching dependencies, building the server, and running k6 tests for CRUD operations on projects, connections, and packages.
- Enhanced server readiness checks and ensured proper environment configurations for testing.

These changes establish a comprehensive testing framework for k6, improving the reliability of performance testing in the project.

Signed-off-by: Sagar Swami Rao Kulkarni <sagarswamirao@gmail.com>
- Updated the k6 CRUD tests workflow to include a new step for setting up BigQuery credentials, ensuring proper handling of both base64 and raw JSON formats.
- Refactored the test execution step to run a consolidated k6 CRUD tests script, improving clarity and efficiency.
- Removed individual test runs for projects, connections, and packages, streamlining the testing process.

These changes improve the workflow's robustness and maintainability, ensuring a more efficient testing framework for k6.

Signed-off-by: Sagar Swami Rao Kulkarni <sagarswamirao@gmail.com>
- Updated the k6 CRUD tests workflow to remove the stripping of the BigQuery connection from the publisher configuration, simplifying the configuration process.
- Cleaned up the load test script by removing unnecessary console log statements related to BigQuery connections, enhancing code clarity.

These changes streamline the testing setup and improve maintainability of the k6 CRUD tests.

Signed-off-by: Sagar Swami Rao Kulkarni <sagarswamirao@gmail.com>
- Adjusted load test stages in the k6 CRUD tests to increase the ramp-up target from 10 to 50 users, enhancing the initial load capacity.
- Maintained the sustained load target at 50 users for improved performance testing.

These changes aim to better simulate user load during testing, providing more accurate performance metrics.

Signed-off-by: Sagar Swami Rao Kulkarni <sagarswamirao@gmail.com>
- Modified the k6 CRUD tests configuration to adjust the load test stages, changing the ramp-up to 10 virtual users and sustaining at 25 virtual users for improved performance testing.
- Updated comments in the workflow file to reflect the new testing strategy.

These changes aim to enhance the accuracy of performance metrics during load testing.

Signed-off-by: Sagar Swami Rao Kulkarni <sagarswamirao@gmail.com>
- Updated the error message in the k6 load test script to include the package location and error body when package creation fails. This enhancement provides clearer context for debugging issues during the load testing process.

These changes aim to improve the clarity of error reporting, facilitating easier troubleshooting.

Signed-off-by: Sagar Swami Rao Kulkarni <sagarswamirao@gmail.com>
- Added a new environment variable `K6_WHITELISTED_PACKAGES` to the k6 CRUD tests workflow, specifying the packages to be included in the load tests.
- Updated the load test script to use a unique package name for each virtual user, preventing directory collisions during concurrent package creation.
- Improved error logging to reflect the unique package name in case of failures, enhancing clarity for debugging.

These changes aim to improve the configurability and reliability of the k6 load testing process.

Signed-off-by: Sagar Swami Rao Kulkarni <sagarswamirao@gmail.com>
- Added a new environment variable `K6_STAGES` to the k6 CRUD tests workflow, allowing for customizable load test stages.
- Updated load test scripts to include thresholds for various CRUD operations, improving performance metrics accuracy.
- Refactored connection handling to support both DuckDB and BigQuery, dynamically selecting the connection type based on available credentials.
- Improved error handling and logging for connection operations, enhancing clarity during load testing.

These changes aim to improve the configurability, accuracy, and reliability of the k6 load testing process.

Signed-off-by: Sagar Swami Rao Kulkarni <sagarswamirao@gmail.com>
- Changed the environment variable from `K6_STAGES` to `K6_CUSTOM_STAGES` in the k6 CRUD tests workflow for better clarity and customization of load test stages.
- Introduced a new `run_crud_test.sh` script to facilitate local execution of k6 CRUD tests with customizable options for port and BigQuery integration.
- Added a new Malloy data file for DuckLake, defining sources with schema and table names for improved data handling.

These changes enhance the configurability and usability of the k6 load testing framework, making it easier to run tests locally and manage data sources.

Signed-off-by: Sagar Swami Rao Kulkarni <sagarswamirao@gmail.com>
- Adjusted the k6 load testing configuration to increase the thresholds for various CRUD operations, providing a buffer for 50 virtual users.
- Updated the `K6_CUSTOM_STAGES` in the workflow to enhance the ramp-up phase, improving the load testing strategy.
- Ensured consistency across all load test scripts by aligning the threshold values for different operations.

These changes aim to improve the accuracy and reliability of performance metrics during load testing.

Signed-off-by: Sagar Swami Rao Kulkarni <sagarswamirao@gmail.com>
- Increased the performance thresholds for various CRUD operations in the k6 load testing scripts, providing a buffer for 50 virtual users.
- Adjusted global and per-operation thresholds for both DuckDB and BigQuery connections to enhance accuracy in performance metrics.

These changes aim to improve the reliability and effectiveness of load testing strategies.

Signed-off-by: Sagar Swami Rao Kulkarni <sagarswamirao@gmail.com>
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