Code Duplication Fixer¶
Fix code-duplication-detector issues by consolidating duplicate functions and opening a focused PR.
Workflow source: gh-aw-code-duplication-fixer.md
How it works¶
Picks up open issues filed by the Code Duplication Detector (labeled refactor or with [refactor] in the title), selects one well-scoped finding, refactors the duplicate or misplaced code, runs tests, and opens a PR. Only acts on safe, behavior-preserving refactors. Most runs end with noop.
Quick Install¶
mkdir -p .github/workflows && curl -sL \
https://raw.githubusercontent.com/elastic/ai-github-actions/v0/gh-agent-workflows/code-duplication-fixer/example.yml \
-o .github/workflows/code-duplication-fixer.yml
Trigger¶
| Event | Schedule |
|---|---|
schedule |
Weekdays |
workflow_dispatch |
Manual |
Inputs¶
| Input | Description | Required | Default |
|---|---|---|---|
additional-instructions |
Repo-specific instructions appended to the agent prompt | No | "" |
setup-commands |
Shell commands run before the agent starts | No | "" |
allowed-bot-users |
Allowlisted bot actor usernames (comma-separated) | No | github-actions[bot] |
Safe Outputs¶
create-pull-request— open a PR with the refactor (max 1)
Pairing¶
This workflow is the read-write companion to Code Duplication Detector. The detector finds issues; the fixer consolidates the duplicates.
Example Workflow¶
name: Code Duplication Fixer
on:
schedule:
- cron: "0 14 * * 1-5"
workflow_dispatch:
permissions:
contents: read
issues: read
pull-requests: write
jobs:
run:
uses: elastic/ai-github-actions/.github/workflows/gh-aw-code-duplication-fixer.lock.yml@v0
secrets:
COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}