Skip to content

Conversation

aThorp96
Copy link
Member

@aThorp96 aThorp96 commented Oct 16, 2025

Changes

  • Add retries to e2e test setup-config functions
  • Ensure failures during e2e setup cause the test to fail before executing the golang tests

Setting up the correct configuration values like enable-api-fields is not optional since many tests depend on these values at runtime. If a test requires non-default config values which failed to be set, the failure may not cause an e2e test to fail for some time and the test failure message will cause confusion; the configuration being correct during setup is a given. By ensuring a failure in any of the configuration setup functions results in the test suite failing, we ensure the tests will only run against the expected configuration. This change ensures that if the e2e test configuration fails, the tests will not continue.

Fixing that improves the clarity of some flaky failures, but it doesn't reduce the flakiness itself. To reduce failures during e2e environment configuration, this change also implements a retry mechanism to each of the set configuration functions. This reduces flakiness due to network connectivity or race conditions during environment setup. If all config retries are exhausted with failure, then the tests will fail as above.

Submitter Checklist

As the author of this PR, please check off the items in this checklist:

  • Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
  • Has Tests included if any functionality added or changed
  • pre-commit Passed
  • Follows the commit message standard
  • Meets the Tekton contributor standards (including functionality, content, code)
  • Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
  • Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings). See some examples of good release notes.
  • Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes

NONE

Setting up the correct configuration values like `enable-api-fields` is
not optional since many tests depend on these values at runtime. If
a test requires non-default config values which failed to be set, the
failure may not cause an e2e test to fail for some time and the test
failure message will cause confusion; the configuration being correct
during setup is a given. By ensuring a failure in any of the
configuration setup functions results in the test suite failing, we
ensure the tests will only run against the expected configuration. This
change ensures that if the e2e test configuration fails, the tests will
not continue.

Fixing that improves the clarity of some flaky failures, but it doesn't
reduce the flakiness itself. To reduce failures during e2e environment
configuration, this change also implements a retry mechanism to each of
the set configuration functions. This reduces flakiness due to network
connectivity or race conditions during environment setup. If all config
retries are exhausted with failure, then the tests will fail as above.
@tekton-robot tekton-robot added the release-note-none Denotes a PR that doesnt merit a release note. label Oct 16, 2025
@tekton-robot tekton-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Oct 16, 2025
@aThorp96
Copy link
Member Author

/kind flake

@tekton-robot tekton-robot added the kind/flake Categorizes issue or PR as related to a flakey test label Oct 16, 2025
@tekton-robot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: vdemeester

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@tekton-robot tekton-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 17, 2025
@afrittoli
Copy link
Member

/retest

Copy link
Member

@afrittoli afrittoli left a comment

Choose a reason for hiding this comment

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

/lgtm

@tekton-robot tekton-robot added the lgtm Indicates that a PR is ready to be merged. label Oct 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. kind/flake Categorizes issue or PR as related to a flakey test lgtm Indicates that a PR is ready to be merged. release-note-none Denotes a PR that doesnt merit a release note. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

4 participants