Update workflow to use Docker container for NixOS compatibility

This commit is contained in:
2026-01-12 10:50:28 +00:00
parent ad1628f02e
commit fb1cb5da5d

View File

@@ -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