Skip to content

Conversation

@cfsmp3
Copy link
Contributor

@cfsmp3 cfsmp3 commented Dec 28, 2025

Summary

Prevent queue_test() from posting "Tests queued" status when a test has already started or completed.

Problem

When multiple GitHub Actions workflows complete for the same commit (e.g., Linux build finishes first, then Windows build finishes later), the webhook handler calls queue_test() for ALL platforms each time. This caused completed tests to have their GitHub status overwritten.

Example from CCExtractor/ccextractor#1744 (stuck since September 2025):

Time (UTC) State Description
14:22:13 PENDING Loaded variables...
14:22:20 PENDING Running tests
14:52:59 SUCCESS Not all tests completed successfully
14:56:59 PENDING Tests queued ❌ (overwrote SUCCESS!)

Also observed on CCExtractor/ccextractor#1916.

Solution

Check if the test already has progress entries before posting "Tests queued". If the test has started or completed, skip the GitHub status update.

if len(platform_test.progress) > 0:
    log.info(f"Test {platform_test.id} already has progress, not posting 'Tests queued' status")
    return

Test plan

  • Manual code review
  • CI tests

🤖 Generated with Claude Code

When multiple GitHub Actions workflows complete for the same commit,
the webhook handler calls queue_test() for all platforms. This caused
completed tests to have their GitHub status overwritten from SUCCESS
back to "Tests queued".

Example timeline:
1. Linux build completes → queue_test(linux) → "Tests queued"
2. Linux test completes → "All tests passed" (SUCCESS)
3. Windows build completes → queue_test(linux) called again
   → "Tests queued" overwrites the SUCCESS status!

Fix: Check if test already has progress before posting "Tests queued".
If the test has started or completed, skip the GitHub status update.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@sonarqubecloud
Copy link

@canihavesomecoffee canihavesomecoffee merged commit bc58955 into master Dec 28, 2025
6 checks passed
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