Skip to content

[SDK Sentinel] Stabilize immediate schedule trigger test - #1802

Merged
tconley1428 merged 1 commit into
temporalio:mainfrom
sdk-sentinel-forks:automation/sdk-sentinel/ci-flake/python/33453539041-1-cd44759ef22f
Sep 1, 2026
Merged

tconley1428 merged 1 commit into
temporalio:mainfrom
sdk-sentinel-forks:automation/sdk-sentinel/ci-flake/python/33453539041-1-cd44759ef22f

Conversation

@sdk-sentinel-bot

Copy link
Copy Markdown
Contributor

Caution

This PR contains untrusted AI-generated code. Do not approve or run CI until a maintainer has reviewed the diff. SDK Sentinel verified that GitHub Actions remained approval-gated with zero executable jobs when this PR was opened.

Summary

Stabilize the Cloud integration test after the [first captured Cloud failure](https://github.com/temporalio/sdk-python/actions/runs/33407614934/job/99538982979) observed zero actions immediately after creating a schedule with an immediate trigger. The bounded snapshot contains no earlier equivalent passing Cloud run.

Root cause

create_schedule can return before the triggered action is visible through describe in Cloud's eventually consistent schedule state. The test assumed synchronous visibility after it became Cloud-eligible in the [Cloud suite expansion](f6594f1).

Fix

Poll describe with the repository's existing eventual-consistency helper until one action is visible, then reuse that successful description for the workflow assertions.

Validation

The pre-change local test passed once, so natural reproduction did not occur. The candidate passed 10 focused stress repetitions and the canonical repository validator. The actual Cloud path remains untested locally and requires the cloud-test envconfig CI job.

Validation status: ci-validation-required

  • Flake confidence: high
  • Fix confidence: high
  • Value: medium
  • Patch scope: standard — 1 changed file; 847 B
  • Local reproduction: not-reproduced — The pre-change test passed once against the local server; the external Cloud environment was unavailable under the investigation network boundary.
  • Regression coverage: pass-after-only — The adjusted test passed 10 focused post-change stress repetitions; no deterministic pre-change failure was available locally.
  • Unchanged baseline (Poe lint, bridge lint, and editable build) — passed
  • Independent candidate (Poe lint, bridge lint, and editable build) — passed

Investigator-run checks

  • poe test -s -k test_schedule_trigger_immediately — passed; 1 attempt(s). Pre-change local-server run passed; the Cloud timing window was not reproduced.
  • poe test -s -k test_schedule_trigger_immediately --flake-finder --flake-runs=10 — passed; 10 attempt(s). Post-change local-server stress run passed all 10 repetitions.
  • .ci-flake-runtime/input/validate.sh — failed; 1 attempt(s). Python checks passed, but the investigation HOME pointed rustup at an empty toolchain cache.
  • RUSTUP_HOME=/home/runner/.rustup CARGO_HOME=/home/runner/work/sdk-sentinel/sdk-sentinel/target/.ci-flake-runtime/cache/cargo .ci-flake-runtime/input/validate.sh — passed; 1 attempt(s). The unchanged canonical validator passed using the preloaded offline Rust toolchain and Cargo cache.

Required target CI

  • Continuous Integration / cloud-test using the envconfig workflow environment on Linux

Residual risks

  • The candidate was not exercised against Temporal Cloud locally.
  • Schedule visibility taking longer than the helper's 10-second timeout would still fail.

Automation provenance

If this finding should not be fixed, apply the sdk-sentinel:false-positive label and close the PR. Sentinel will suppress the finding until its affected source changes.

SDK Sentinel recurrence history

  • Unique failed CI run attempts: 1
  • First occurrence: 2026-08-31 15:28 UTC
  • Latest occurrence: 2026-08-31 15:28 UTC
  • Recent occurrences:

@sdk-sentinel-bot
sdk-sentinel-bot requested a review from a team as a code owner September 1, 2026 01:16
@tconley1428 tconley1428 self-assigned this Sep 1, 2026
@tconley1428 tconley1428 added the skip-changelog PR changes do not require changelog updates label Sep 1, 2026
@tconley1428
tconley1428 merged commit 440d063 into temporalio:main Sep 1, 2026
43 of 49 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changelog PR changes do not require changelog updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants