-
Notifications
You must be signed in to change notification settings - Fork 125
Closed
Description
Summary
When the release-please bot merges its PR to main, the main.yml workflow triggers again, running release-please in a loop. This wastes CI resources and can create confusing workflow runs.
Problem
The current main.yml workflow triggers on every push to main:
on:
push:
branches:
- mainWhen release-please merges its PR (commits authored by hve-core-release-please[bot]), this triggers the workflow again, which runs all validation jobs and release-please again unnecessarily.
Root Cause
- Commit author:
hve-core-release-please[bot] - Commit message pattern:
chore(main): release hve-core X.X.X - The workflow has no logic to detect and skip bot-authored commits
Proposed Solution
Add a gate job pattern to detect release-please bot commits and skip validation jobs:
jobs:
should-run:
name: Check Trigger Source
runs-on: ubuntu-latest
outputs:
proceed: ${{ steps.check.outputs.proceed }}
steps:
- name: Check if release-please commit
id: check
run: |
if [[ "${{ github.event.head_commit.author.name }}" == "hve-core-release-please[bot]" ]]; then
echo "::notice title=Workflow Skipped::Release-please bot commit detected"
echo "proceed=false" >> $GITHUB_OUTPUT
else
echo "proceed=true" >> $GITHUB_OUTPUT
fi
spell-check:
needs: should-run
if: needs.should-run.outputs.proceed == 'true'
# ... existing configAcceptance Criteria
- Workflow does not run validation jobs when release-please bot commits to main
- release-please job runs normally for human commits
- Clear audit trail in Actions logs when workflow is skipped
- No changes to release-please configuration or behavior
Research
Detailed research available at .copilot-tracking/research/2026-02-04-release-please-infinite-loop-prevention.md
Files to Modify
| File | Change |
|---|---|
.github/workflows/main.yml |
Add gate job and conditional dependencies |
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working