Skip to content

bug: push_repo_memory job runs when workflow is triggered by a bot comment (pre_activation skipped) #25959

@yskopets

Description

@yskopets

Summary

The push_repo_memory job runs even when the entire workflow is a no-op (all other jobs skipped), because its if: condition treats a skipped detection job the same as a successful one.

Generated condition

push_repo_memory:
  needs:
    - agent
    - detection
  if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped')

What goes wrong

When a bot posts a comment on an issue and the workflow is triggered via issue_comment, pre_activation evaluates the comment body and finds no slash command — so it is skipped. This cascades:

pre_activation → skipped
activation     → skipped
detection      → skipped
agent          → skipped
safe_outputs   → skipped
conclusion     → skipped
push_repo_memory → ✅ RUNS  ← unexpected

always() bypasses the normal skip propagation, and needs.detection.result == 'skipped' is true regardless of why detection was skipped — whether it was skipped because the agent didn't run (bot no-op) or because the workflow variant has no detection step (the intended case).

Impact

push_repo_memory runs a checkout and attempts a git push on every bot-triggered workflow invocation, even though no agent work was done. This wastes runner time and can produce spurious commits to the memory branch.

Expected behavior

push_repo_memory should only run when the agent actually executed. A condition like:

if: always() && needs.agent.result != 'skipped'

would correctly gate it on real agent runs.

Environment

  • gh-aw version: v0.65.7
  • awf version: v0.25.13

🤖 This issue was filed by Claude Code (claude-sonnet-4-6).

Metadata

Metadata

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions