Skip to content

fix: also gate the WaitForBuilds Delay task with a step condition - #88

Merged
NickGraham101 merged 1 commit into
mainfrom
GateRenovateDelayStepCondition
Sep 24, 2026
Merged

NickGraham101 merged 1 commit into
mainfrom
GateRenovateDelayStepCondition

Conversation

@NickGraham101

@NickGraham101 NickGraham101 commented Sep 24, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • PR fix: gate agentless WaitForBuilds job on a mapped job variable #87 mapped RunRenovate into a job variable, but the agentless WaitForBuilds job still ran its 2h Delay on non-matching schedules. The prepare log shows RunRenovate: Result: 'false', so the job condition should be False, yet the job ran.
  • Root cause is not proven. Agentless job condition evaluation isn't logged. This repeats the gate as a step condition: on the Delay@1 task, so the wait is skipped even if the job itself starts.
  • Job-level condition left in place.

Test plan

  • Unverified that server tasks honour step conditions. Check on the next non-matching scheduled run: WaitForBuilds should complete in seconds with Delay skipped.
  • Next Renovate schedule run: Delay still runs for the full MergeDelayMinutes, then MergePRs runs.
  • Manual run with RunMergePRManually=true only should also skip the Delay.

🤖 Generated with Claude Code

The job-level condition on the agentless WaitForBuilds job has never
skipped it (builds 12313, 12361, 12441, 12508 all ran the 2h Delay on
non-matching schedules) even though the mapped RunRenovate job
variable resolved to 'false'. Repeat the condition on the Delay step
so the wait is skipped when Renovate did not run.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Unit Test Results

1 136 tests  ±0   1 136 ✔️ ±0   27s ⏱️ -5s
       3 suites ±0          0 💤 ±0 
       1 files   ±0          0 ❌ ±0 

Results for commit 9622e6c. ± Comparison against base commit b8b588a.

@NickGraham101
NickGraham101 merged commit e8ba3ae into main Sep 24, 2026
4 checks passed
@NickGraham101
NickGraham101 deleted the GateRenovateDelayStepCondition branch September 24, 2026 10:59
NickGraham101 added a commit that referenced this pull request Oct 2, 2026
PR #87/#88's fixes to the WaitForBuilds gate didn't work: build 12586
(Weekly Redeployment, both manual params false) still ran the Delay
task. Isolated with the pipeline preview API against a scratch branch:
${{ and(parameters.RunRenovateManually, parameters.RunMergePRManually) }}
compiled to True even with both params false, and and(param, true)
compiled True regardless of the param's value -- the ADO expression
engine isn't treating a boolean-typed parameter as boolean when it's
an argument to and(), only when it's the sole value of a ${{ }} block.

Wrapping each operand as eq(parameters.X, true) forces a real boolean
comparison before and() sees it. Verified all four combinations
(false/false, true/true, true/false, false/true) compile correctly
via the preview API.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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.

1 participant