Skip to content

Increase CI test timeouts to improve MySQL backend test reliability - #421

Merged
cschleiden merged 4 commits into
mainfrom
copilot/fix-420
Aug 20, 2025
Merged

Increase CI test timeouts to improve MySQL backend test reliability#421
cschleiden merged 4 commits into
mainfrom
copilot/fix-420

Conversation

Copilot AI commented Aug 20, 2025

Copy link
Copy Markdown
Contributor

The MySQL backend tests were frequently timing out in CI due to tests running very close to the 120-second CI timeout limit.

Problem

MySQL backend tests could easily exceed the CI timeout when dealing with lock contention or waiting for locks to expire, causing frequent test failures like:

panic: test timed out after 2m0s
	running tests:
		TestMySqlBackendWithDB_E2E (19s)
		TestMySqlBackendWithDB_E2E/Activity/Panic (0s)

Solution

Increased CI test timeouts in .github/workflows/go.yml from 120s to 240s for all test jobs to provide additional safety buffer for MySQL backend tests and other potentially long-running tests.

Results

  • CI timeout buffer doubled from 120s to 240s for improved reliability
  • Production behavior unchanged - all production timeouts remain at their original values
  • Test reliability significantly improved with increased timeout margins
  • Conservative approach that provides safety buffer without changing test behavior

The fix addresses the timeout issue by providing more generous CI limits while maintaining all original test behavior and production settings.

Fixes #420.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

- Set WorkflowLockTimeout to 5 seconds for MySQL tests (down from 1 minute)
- Set ActivityLockTimeout to 10 seconds for MySQL tests (down from 2 minutes)
- Added time import to mysql_test.go for duration constants
- Applies to both Test_MysqlBackend and TestMySqlBackendE2E functions

Co-authored-by: cschleiden <2201819+cschleiden@users.noreply.github.com>
Copilot AI changed the title [WIP] Frequent test timeouts in CI for mysql backend Fix MySQL backend test timeouts by reducing lock timeouts in test configuration Aug 20, 2025
Copilot AI requested a review from cschleiden August 20, 2025 21:54
@cschleiden

Copy link
Copy Markdown
Owner

@copilot Also increase the test timeout in the workflow file. Right now it's 120s, let's double that.

Co-authored-by: cschleiden <2201819+cschleiden@users.noreply.github.com>

Copilot AI commented Aug 20, 2025

Copy link
Copy Markdown
Contributor Author

@copilot Also increase the test timeout in the workflow file. Right now it's 120s, let's double that.

Increased all CI test timeouts from 120s to 240s in the workflow file. This provides an additional safety buffer on top of the reduced lock timeouts in the MySQL tests. Commit: 68c3f41

Copilot AI changed the title Fix MySQL backend test timeouts by reducing lock timeouts in test configuration Fix MySQL backend test timeouts by reducing lock timeouts and increasing CI timeout limits Aug 20, 2025
Comment thread backend/mysql/mysql_test.go
Co-authored-by: cschleiden <2201819+cschleiden@users.noreply.github.com>
Copilot AI changed the title Fix MySQL backend test timeouts by reducing lock timeouts and increasing CI timeout limits Increase CI test timeouts to improve MySQL backend test reliability Aug 20, 2025
Copilot AI requested a review from cschleiden August 20, 2025 22:18
@cschleiden
cschleiden marked this pull request as ready for review August 20, 2025 22:24
@cschleiden
cschleiden enabled auto-merge (squash) August 20, 2025 22:25
@cschleiden
cschleiden disabled auto-merge August 20, 2025 22:25
@cschleiden
cschleiden merged commit 0220af1 into main Aug 20, 2025
4 checks passed
@cschleiden
cschleiden deleted the copilot/fix-420 branch August 20, 2025 22:30
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.

Frequent test timeouts in CI for mysql backend

2 participants