chore: improve Claude documentation workflows (#1155)
This commit is contained in:
57
.github/workflows/claude-docs-trigger.yml
vendored
Normal file
57
.github/workflows/claude-docs-trigger.yml
vendored
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
name: Trigger Claude Documentation Update
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- next
|
||||||
|
paths-ignore:
|
||||||
|
- "apps/docs/**"
|
||||||
|
- "*.md"
|
||||||
|
- ".github/workflows/**"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
trigger-docs-update:
|
||||||
|
# Only run if changes were merged (not direct pushes from bots)
|
||||||
|
if: github.actor != 'github-actions[bot]' && github.actor != 'dependabot[bot]'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
actions: write
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 2 # Need previous commit for comparison
|
||||||
|
|
||||||
|
- name: Get changed files
|
||||||
|
id: changed-files
|
||||||
|
run: |
|
||||||
|
echo "Changed files in this push:"
|
||||||
|
git diff --name-only HEAD^ HEAD | tee changed_files.txt
|
||||||
|
|
||||||
|
# Store changed files for Claude to analyze (escaped for JSON)
|
||||||
|
CHANGED_FILES=$(git diff --name-only HEAD^ HEAD | jq -Rs .)
|
||||||
|
echo "changed_files=$CHANGED_FILES" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
# Get the commit message (escaped for JSON)
|
||||||
|
COMMIT_MSG=$(git log -1 --pretty=%B | jq -Rs .)
|
||||||
|
echo "commit_message=$COMMIT_MSG" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
# Get diff for documentation context (escaped for JSON)
|
||||||
|
COMMIT_DIFF=$(git diff HEAD^ HEAD --stat | jq -Rs .)
|
||||||
|
echo "commit_diff=$COMMIT_DIFF" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
# Get commit SHA
|
||||||
|
echo "commit_sha=${{ github.sha }}" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: Trigger Claude workflow
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
# Trigger the Claude docs updater workflow with the change information
|
||||||
|
gh workflow run claude-docs-updater.yml \
|
||||||
|
--ref next \
|
||||||
|
-f commit_sha="${{ steps.changed-files.outputs.commit_sha }}" \
|
||||||
|
-f commit_message=${{ steps.changed-files.outputs.commit_message }} \
|
||||||
|
-f changed_files=${{ steps.changed-files.outputs.changed_files }} \
|
||||||
|
-f commit_diff=${{ steps.changed-files.outputs.commit_diff }}
|
||||||
65
.github/workflows/claude-docs-updater.yml
vendored
65
.github/workflows/claude-docs-updater.yml
vendored
@@ -1,18 +1,27 @@
|
|||||||
name: Claude Documentation Updater
|
name: Claude Documentation Updater
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
workflow_dispatch:
|
||||||
branches:
|
inputs:
|
||||||
- next
|
commit_sha:
|
||||||
paths-ignore:
|
description: 'The commit SHA that triggered this update'
|
||||||
- "apps/docs/**"
|
required: true
|
||||||
- "*.md"
|
type: string
|
||||||
- ".github/workflows/**"
|
commit_message:
|
||||||
|
description: 'The commit message'
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
changed_files:
|
||||||
|
description: 'List of changed files'
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
commit_diff:
|
||||||
|
description: 'Diff summary of changes'
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-docs:
|
update-docs:
|
||||||
# Only run if changes were merged (not direct pushes from bots)
|
|
||||||
if: github.actor != 'github-actions[bot]' && github.actor != 'dependabot[bot]'
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
@@ -22,28 +31,8 @@ jobs:
|
|||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 2 # Need previous commit for comparison
|
ref: next
|
||||||
|
fetch-depth: 0 # Need full history to checkout specific commit
|
||||||
- name: Get changed files
|
|
||||||
id: changed-files
|
|
||||||
run: |
|
|
||||||
echo "Changed files in this push:"
|
|
||||||
git diff --name-only HEAD^ HEAD | tee changed_files.txt
|
|
||||||
|
|
||||||
# Store changed files for Claude to analyze
|
|
||||||
echo "changed_files<<EOF" >> $GITHUB_OUTPUT
|
|
||||||
git diff --name-only HEAD^ HEAD >> $GITHUB_OUTPUT
|
|
||||||
echo "EOF" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
# Get the commit message and changes summary
|
|
||||||
echo "commit_message<<EOF" >> $GITHUB_OUTPUT
|
|
||||||
git log -1 --pretty=%B >> $GITHUB_OUTPUT
|
|
||||||
echo "EOF" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
# Get diff for documentation context
|
|
||||||
echo "commit_diff<<EOF" >> $GITHUB_OUTPUT
|
|
||||||
git diff HEAD^ HEAD --stat >> $GITHUB_OUTPUT
|
|
||||||
echo "EOF" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
- name: Create docs update branch
|
- name: Create docs update branch
|
||||||
id: create-branch
|
id: create-branch
|
||||||
@@ -71,12 +60,12 @@ jobs:
|
|||||||
You are a documentation specialist. Analyze the recent changes pushed to the 'next' branch and update the documentation accordingly.
|
You are a documentation specialist. Analyze the recent changes pushed to the 'next' branch and update the documentation accordingly.
|
||||||
|
|
||||||
Recent changes:
|
Recent changes:
|
||||||
- Commit: ${{ steps.changed-files.outputs.commit_message }}
|
- Commit: ${{ inputs.commit_message }}
|
||||||
- Changed files:
|
- Changed files:
|
||||||
${{ steps.changed-files.outputs.changed_files }}
|
${{ inputs.changed_files }}
|
||||||
|
|
||||||
- Changes summary:
|
- Changes summary:
|
||||||
${{ steps.changed-files.outputs.commit_diff }}
|
${{ inputs.commit_diff }}
|
||||||
|
|
||||||
Your task:
|
Your task:
|
||||||
1. Analyze the changes to understand what functionality was added, modified, or removed
|
1. Analyze the changes to understand what functionality was added, modified, or removed
|
||||||
@@ -113,7 +102,7 @@ jobs:
|
|||||||
|
|
||||||
This PR was automatically generated to update documentation based on recent changes.
|
This PR was automatically generated to update documentation based on recent changes.
|
||||||
|
|
||||||
Original commit: ${{ steps.changed-files.outputs.commit_message }}
|
Original commit: ${{ inputs.commit_message }}
|
||||||
|
|
||||||
Co-authored-by: Claude <claude-assistant@anthropic.com>"
|
Co-authored-by: Claude <claude-assistant@anthropic.com>"
|
||||||
fi
|
fi
|
||||||
@@ -133,12 +122,12 @@ jobs:
|
|||||||
This PR automatically updates documentation based on recent changes merged to the \`next\` branch.
|
This PR automatically updates documentation based on recent changes merged to the \`next\` branch.
|
||||||
|
|
||||||
### Original Changes
|
### Original Changes
|
||||||
**Commit:** ${{ github.sha }}
|
**Commit:** ${{ inputs.commit_sha }}
|
||||||
**Message:** ${{ steps.changed-files.outputs.commit_message }}
|
**Message:** ${{ inputs.commit_message }}
|
||||||
|
|
||||||
### Changed Files in Original Commit
|
### Changed Files in Original Commit
|
||||||
\`\`\`
|
\`\`\`
|
||||||
${{ steps.changed-files.outputs.changed_files }}
|
${{ inputs.changed_files }}
|
||||||
\`\`\`
|
\`\`\`
|
||||||
|
|
||||||
### Documentation Updates
|
### Documentation Updates
|
||||||
|
|||||||
4502
package-lock.json
generated
4502
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user