Skip to content

Increase e2e test timeouts on CI to fix flaky tests#37053

Merged
silverwind merged 9 commits intogo-gitea:mainfrom
silverwind:playtime
Mar 31, 2026
Merged

Increase e2e test timeouts on CI to fix flaky tests#37053
silverwind merged 9 commits intogo-gitea:mainfrom
silverwind:playtime

Conversation

@silverwind
Copy link
Copy Markdown
Member

@silverwind silverwind commented Mar 31, 2026

Introduce a GITEA_TEST_E2E_TIMEOUT_FACTOR env var (3 on CI, 1 locally, overridable) to scale Playwright e2e timeouts, fixing flaky tests like logout propagation that timed out waiting for SSE event propagation on slow CI runners.

Timeout Before (local) After (local) Before (CI) After (CI)
expect 3000 5000 6000 15000
action 3000 5000 6000 15000
test 6000 10000 12000 30000
navigation 6000 10000 12000 30000

This PR was written with the help of Claude Opus 4.6

Co-Authored-By: Claude (Opus 4.6) <noreply@anthropic.com>
@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Mar 31, 2026
Co-Authored-By: Claude (Opus 4.6) <noreply@anthropic.com>
@GiteaBot GiteaBot added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Mar 31, 2026
Co-Authored-By: Claude (Opus 4.6) <noreply@anthropic.com>
@silverwind
Copy link
Copy Markdown
Member Author

silverwind commented Mar 31, 2026

Moved the factor to a env var in 538e221. Reason is that one expect in events is already taking ~5s locally, so local timeout of 5s was too low for it. Now it uses 15s*factor.

Copy link
Copy Markdown
Contributor

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.

Pull request overview

Scales Playwright E2E timeouts based on a new GITEA_TEST_E2E_FACTOR environment variable (defaulting higher on CI) to reduce CI flakiness on slower runners/browsers.

Changes:

  • Set GITEA_TEST_E2E_FACTOR to 3 on CI and 1 locally in the E2E test harness script.
  • Update playwright.config.ts to derive expect, action, navigation, and test timeouts from the factor.
  • Update an events E2E assertion timeout to also scale with the factor.

Reviewed changes

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

File Description
tools/test-e2e.sh Exports the new timeout scaling env var for Playwright runs, with CI-vs-local defaults.
tests/e2e/events.test.ts Uses the factor to scale a specific event-propagation assertion timeout.
playwright.config.ts Centralizes Playwright timeout scaling via GITEA_TEST_E2E_FACTOR.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Mar 31, 2026
@silverwind silverwind added the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Mar 31, 2026
@silverwind silverwind enabled auto-merge (squash) March 31, 2026 13:47
@silverwind silverwind merged commit f8d14b7 into go-gitea:main Mar 31, 2026
26 checks passed
@silverwind silverwind deleted the playtime branch March 31, 2026 13:59
@GiteaBot GiteaBot added this to the 1.26.0 milestone Mar 31, 2026
@GiteaBot GiteaBot removed the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Mar 31, 2026
zjjhot added a commit to zjjhot/gitea that referenced this pull request Apr 2, 2026
* main:
  Fix NuGet package upload error handling (go-gitea#37074)
  Desaturate dark theme background colors (go-gitea#37056)
  Update JS dependencies and misc tweaks (go-gitea#37064)
  Redirect to the only OAuth2 provider when no other login methods and fix various problems (go-gitea#36901)
  Show workflow link (go-gitea#37070)
  Remove leftover `webpackChunkName` comments from codeeditor (go-gitea#37062)
  Update Go dependencies (go-gitea#36781)
  Add webhook name field to improve webhook identification (go-gitea#37025) (go-gitea#37040)
  Upgrade `go-git` to v5.17.2 (go-gitea#37060)
  Replace Monaco with CodeMirror (go-gitea#36764)
  Update Combine method to treat warnings as failures and adjust tests (go-gitea#37048)
  Raise minimum Node.js version to 22.18.0 (go-gitea#37058)
  Update golangci-lint to v2.11.4 (go-gitea#37059)
  Upgrade `golang.org/x/image` to v0.38.0 (go-gitea#37054)
  Increase e2e test timeouts on CI to fix flaky tests (go-gitea#37053)
  Refactor "org teams" page and help new users to "add member" to an org (go-gitea#37051)
silverwind added a commit to silverwind/gitea that referenced this pull request Apr 2, 2026
* origin/main: (192 commits)
  Fix NuGet package upload error handling (go-gitea#37074)
  Desaturate dark theme background colors (go-gitea#37056)
  Update JS dependencies and misc tweaks (go-gitea#37064)
  Redirect to the only OAuth2 provider when no other login methods and fix various problems (go-gitea#36901)
  Show workflow link (go-gitea#37070)
  Remove leftover `webpackChunkName` comments from codeeditor (go-gitea#37062)
  Update Go dependencies (go-gitea#36781)
  Add webhook name field to improve webhook identification (go-gitea#37025) (go-gitea#37040)
  Upgrade `go-git` to v5.17.2 (go-gitea#37060)
  Replace Monaco with CodeMirror (go-gitea#36764)
  Update Combine method to treat warnings as failures and adjust tests (go-gitea#37048)
  Raise minimum Node.js version to 22.18.0 (go-gitea#37058)
  Update golangci-lint to v2.11.4 (go-gitea#37059)
  Upgrade `golang.org/x/image` to v0.38.0 (go-gitea#37054)
  Increase e2e test timeouts on CI to fix flaky tests (go-gitea#37053)
  Refactor "org teams" page and help new users to "add member" to an org (go-gitea#37051)
  Refactor issue sidebar and fix various problems (go-gitea#37045)
  Add tests for pull request's content_version in API (go-gitea#37044)
  Enable concurrent vitest execution (go-gitea#36998)
  Fix theme discovery and Vite dev server in dev mode (go-gitea#37033)
  ...

# Conflicts:
#	templates/user/dashboard/feeds.tmpl
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. modifies/docs modifies/frontend

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants