Skip to content

CI: improve the intermittent ignore #7411

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

Merged
merged 1 commit into from
Mar 10, 2025
Merged

CI: improve the intermittent ignore #7411

merged 1 commit into from
Mar 10, 2025

Conversation

sylvestre
Copy link
Contributor

No description provided.

@sylvestre sylvestre marked this pull request as draft March 7, 2025 09:39
@sylvestre
Copy link
Contributor Author

example that I am trying to fix
#7384 (comment)
image

Copy link

github-actions bot commented Mar 7, 2025

GNU testsuite comparison:

Skip an intermittent issue tests/misc/stdbuf (fails in this run but passes in the 'main' branch)

@sylvestre sylvestre marked this pull request as ready for review March 7, 2025 10:10
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

PR Overview

This PR enhances the CI process by differentiating between intermittent and non-intermittent test failures while comparing test results against the main branch.

  • In util/compare_gnu_result.py, a new check based on an environment variable determines if failing tests are all intermittent, thereby opting to not fail the build.
  • In .github/workflows/GnuTests.yml, new logic is added to detect non-intermittent failures and update an environment variable to reflect this distinction, ensuring that only non-intermittent failures fail the build.

Reviewed Changes

File Description
util/compare_gnu_result.py Added check for the ONLY_INTERMITTENT environment variable to control whether to exit with an error.
.github/workflows/GnuTests.yml Updated CI workflow to conditionally set the ONLY_INTERMITTENT flag based on failure types.

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

Comments suppressed due to low confidence (2)

util/compare_gnu_result.py:48

  • The 'sys.exit(1)' call appears to have inconsistent indentation compared to its sibling print statement in the else block. Please ensure it is aligned correctly to belong to the else clause.
          sys.exit(1)

.github/workflows/GnuTests.yml:277

  • [nitpick] The variable name 'have_non_intermittent_failures' could be made clearer. Consider renaming it to something like 'non_intermittent_failure_detected' for improved readability.
                  have_non_intermittent_failures="true"

@@ -217,6 +217,9 @@ jobs:
run: |
## Compare test failures VS reference
have_new_failures=""
## Collect if we detect any non-intermittent failures
## this will be used by util/compare_gnu_result.py
have_non_intermittent_failures=""
Copy link
Contributor

@cakebaker cakebaker Mar 7, 2025

Choose a reason for hiding this comment

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

Currently have_non_intermittent_failures is identical to have_new_failures (the same value is assigned at the same places) and so either there is a bug somewhere or the variable is redundant.

Copy link

GNU testsuite comparison:

Skipping an intermittent issue tests/misc/stdbuf (passes in this run but fails in the 'main' branch)
Skipping an intermittent issue tests/timeout/timeout (passes in this run but fails in the 'main' branch)

@cakebaker cakebaker merged commit 3243fba into uutils:main Mar 10, 2025
66 checks passed
@sylvestre sylvestre deleted the ci2 branch March 10, 2025 09:42
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