Update workflow to use Docker container for NixOS compatibility
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
# For God so loved the world — John 3:16
|
||||
name: Claude Edit Workflow
|
||||
|
||||
on:
|
||||
@@ -8,48 +9,47 @@ on:
|
||||
|
||||
jobs:
|
||||
edit-chirho:
|
||||
# Only run if: has edit-request label AND (is issue event OR comment is NOT from bot)
|
||||
runs-on: claude-chirho
|
||||
container:
|
||||
image: node:20-bookworm
|
||||
if: |
|
||||
contains(github.event.issue.labels.*.name, 'edit-request-chirho') &&
|
||||
(github.event_name == 'issues' || github.event.comment.user.login != 'claude-bot-chirho')
|
||||
runs-on: claude-chirho
|
||||
(github.event_name == 'issues' || github.event.comment.user.login \!= 'claude-bot-chirho')
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Run Claude Code
|
||||
env:
|
||||
ISSUE_NUMBER: ${{ github.event.issue.number }}
|
||||
ISSUE_TITLE: ${{ github.event.issue.title }}
|
||||
- name: Install Claude Code
|
||||
run: |
|
||||
cd $GITHUB_WORKSPACE
|
||||
git config user.email "claude-bot@perffection.com"
|
||||
git config user.name "Claude Bot"
|
||||
npm install -g @anthropic-ai/claude-code
|
||||
|
||||
cat << PROMPT_EOF | ~/.local/bin/claude -p --verbose --output-format stream-json --mcp-config ~/mcp-gitea-config-chirho.json --allowedTools "Read,Write,Edit,Glob,Grep,mcp__gitea-chirho__*"
|
||||
You are editing a customer website based on feedback.
|
||||
Issue number ${ISSUE_NUMBER}: ${ISSUE_TITLE}
|
||||
- name: Run Claude Code
|
||||
run: |
|
||||
claude --print "You are editing a customer website based on their feedback.
|
||||
|
||||
IMPORTANT: First use gitea_get_issue_thread_chirho to read the full conversation history.
|
||||
Read the issue at: ${{ github.server_url }}/${{ github.repository }}/issues/${{ github.event.issue.number }}
|
||||
|
||||
After reading the thread:
|
||||
1. Look at the LATEST message from the site owner (not from claude-bot-chirho)
|
||||
2. If there is a new request, make the edits
|
||||
3. Post a brief comment summarizing what you did
|
||||
4. If the latest owner message has already been addressed, do nothing
|
||||
The issue title is: ${{ github.event.issue.title }}
|
||||
The issue body is: ${{ github.event.issue.body }}
|
||||
|
||||
Working directory contains the site files. Make changes directly.
|
||||
PROMPT_EOF
|
||||
Make the requested changes to the site files. Focus on clean, minimal edits
|
||||
that match the existing code style. Follow the _chirho naming convention."
|
||||
env:
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY_CHIRHO }}
|
||||
|
||||
- name: Commit and push changes
|
||||
run: |
|
||||
cd $GITHUB_WORKSPACE
|
||||
git config --global user.name "Claude Bot"
|
||||
git config --global user.email "claude-bot-chirho@perffection.com"
|
||||
git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
git add -A
|
||||
if git diff --staged --quiet; then
|
||||
echo "No changes to commit"
|
||||
else
|
||||
git commit -m "Edit: ${{ github.event.issue.title }}"
|
||||
git commit -m "${{ github.event.issue.title }}"
|
||||
git push
|
||||
fi
|
||||
|
||||
# JESUS CHRIST IS LORD
|
||||
Reference in New Issue
Block a user