Skip to content

CSPL-3763 add flaky test analysis tool#1744

Open
kubabuczak wants to merge 8 commits intodevelopfrom
CSPL-3763-add-flay-test-analysis-tool
Open

CSPL-3763 add flaky test analysis tool#1744
kubabuczak wants to merge 8 commits intodevelopfrom
CSPL-3763-add-flay-test-analysis-tool

Conversation

@kubabuczak
Copy link
Collaborator

@kubabuczak kubabuczak commented Mar 2, 2026

Description

  • Add a manually-triggered GitHub Actions workflow and supporting shell script that detect flaky integration tests by analyzing JUnit XML report artifacts over a configurable date range.
  • The script downloads test-report artifacts via the GitHub API, normalizes Ginkgo's random classname suffixes, and runs the flaky-tests-detection library to score tests by pass/fail flip rate.
  • Results are rendered as a markdown table in the workflow job summary and uploaded as artifacts (scores + heatmap PNGs).

Testing and Verification

  • Script tested locally with --dry-run to verify artifact listing and date filtering.
  • Full end-to-end run executed locally against the repository, downloading JUnit artifacts and producing flaky test scores + heatmap PNGs.
  • Workflow validated via push to feature branch and dispatch via code changes (push). Workflow execution

Related Issues

  • CSPL-3763 — Flaky test detection tool investigation

PR Checklist

  • Code changes adhere to the project's coding standards.
  • Relevant unit and integration tests are included.
  • Documentation has been updated accordingly.
  • All tests pass locally.
  • The PR description follows the project's guidelines.

- Introduced a new GitHub Actions workflow for flaky test analysis, allowing users to specify date ranges and parameters for reporting the flakiest tests.
- Added a Bash script to download JUnit test report artifacts and perform flaky test detection, enhancing the testing process and providing detailed results.
- The workflow includes steps for dependency installation, running the analysis, generating summaries, and uploading results as artifacts.
…fic branch

- Added a push trigger for the 'CSPL-3763-add-flay-test-analysis-tool' branch to the flaky test analysis workflow, allowing for automated execution upon code changes.
- This change is intended for testing purposes and will be removed before merging.
@kubabuczak kubabuczak marked this pull request as ready for review March 2, 2026 14:20
- Eliminated the push trigger for the 'CSPL-3763-add-flay-test-analysis-tool' branch from the flaky test analysis workflow, streamlining the workflow configuration and preparing for final merge.
@coveralls
Copy link
Collaborator

coveralls commented Mar 2, 2026

Pull Request Test Coverage Report for Build 22618209907

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 83.937%

Totals Coverage Status
Change from base Build 22574097150: 0.0%
Covered Lines: 11836
Relevant Lines: 14101

💛 - Coveralls

…mary

- Updated the workflow to iterate over heatmap images and include them in the GitHub step summary as base64-encoded images, improving visibility of test results.
- Retained the push trigger for the 'CSPL-3763-add-flay-test-analysis-tool' branch for testing purposes, with plans to remove it before merging.
- Eliminated the code block that processed and displayed heatmap images in the GitHub step summary, streamlining the workflow.
- Removed the push trigger for the 'CSPL-3763-add-flay-test-analysis-tool' branch, finalizing the workflow configuration for merging.
@kubabuczak kubabuczak changed the title Cspl 3763 add flay test analysis tool CSPL-3763 add flaky test analysis tool Mar 2, 2026
- Introduced a new Python script to analyze JUnit XML reports and generate a Markdown summary of test failure statistics, including failure counts and rates.
- Updated the flaky test analysis workflow to include a step for generating failure statistics, ensuring comprehensive reporting of test results.
- The workflow now triggers on pushes to the 'CSPL-3763-add-flay-test-analysis-tool' branch, facilitating automated analysis during development.
- Introduced a new Python script to customize Matplotlib for generating heatmaps in flaky test analysis, enhancing readability with increased font sizes and wrapped y-axis labels.
- Updated the flaky test analysis script to incorporate the new Matplotlib configurations, improving the presentation of test results.
- Added a new entry to .gitignore to exclude generated JUnit report directories from version control.
… improvements

- Added output variables for start and end dates in the flaky test analysis workflow, improving the clarity of date ranges in job summaries.
- Refactored the naming function in the test failure statistics script to improve readability and maintainability.
- Updated the artifact upload step to include dynamic naming based on the date range, enhancing the organization of test results.
on:
push:
branches:
- CSPL-3763-add-flay-test-analysis-tool
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remember to delete this before merge

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.

3 participants