Skip to content

Conversation

kraenhansen
Copy link
Contributor

Description

In an attempt to stabilize the smoke / install tests, merging this PR will:

  • Assert the run attempt when looking for a newly created workflow run
  • Dispatch in a loop of three attempts, re-running failed jobs in between and ultimately failing the Evergreen task.

Checklist

  • New tests and/or benchmarks are included
  • Documentation is changed or added
  • If this change updates the UI, screenshots/videos are added and a design review is requested
  • I have signed the MongoDB Contributor License Agreement (https://www.mongodb.com/legal/contributor-agreement)

Motivation and Context

  • Bugfix
  • New feature
  • Dependency update
  • Misc

Open Questions

Dependents

Types of changes

  • Backport Needed
  • Patch (non-breaking change which fixes an issue)
  • Minor (non-breaking change which adds functionality)
  • Major (fix or feature that would cause existing functionality to change)

@kraenhansen kraenhansen self-assigned this Sep 11, 2025
@kraenhansen kraenhansen added the no release notes Fix or feature not for release notes label Sep 11, 2025
@kraenhansen kraenhansen requested a review from a team as a code owner September 11, 2025 09:38
Copy link
Contributor

@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.

Pull Request Overview

This PR implements a retry mechanism for GitHub workflow dispatches to improve reliability of smoke/install tests. When a workflow run fails, it will automatically retry failed jobs up to 3 times before ultimately failing the Evergreen task.

  • Adds retry logic with configurable retry count (defaults to 3)
  • Modifies workflow run detection to assert on specific run attempt numbers
  • Implements automatic re-running of failed jobs between retry attempts
Comments suppressed due to low confidence (1)

packages/compass-smoke-tests/src/dispatch.ts:1

  • The error message should include the expected run attempt number since it's now part of the search criteria. Consider updating to: Failed to find run with name \"${expectedRunName}\" (attempt ${expectedRunAttempt}) after ${MAX_GET_LATEST_ATTEMPTS} attempts
import assert from 'node:assert/strict';

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@kraenhansen kraenhansen force-pushed the kh/smoke-test/partial-retry branch from 884ad26 to e9e943c Compare September 11, 2025 14:49
@kraenhansen kraenhansen force-pushed the kh/smoke-test/partial-retry branch from e9e943c to 20eab6d Compare September 16, 2025 13:47
@kraenhansen kraenhansen merged commit d2e4f1f into main Sep 16, 2025
60 checks passed
@kraenhansen kraenhansen deleted the kh/smoke-test/partial-retry branch September 16, 2025 16:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no release notes Fix or feature not for release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants