Skip to content

✍️ The Adventures of Chomper, Whiskers, and Sammy #97

✍️ The Adventures of Chomper, Whiskers, and Sammy

✍️ The Adventures of Chomper, Whiskers, and Sammy #97

name: "Issue Generator"
on:
issues:
types: [labeled]
jobs:
parse-issue:
runs-on: ubuntu-latest
if: github.event.label.name == 'generate-story'
permissions:
issues: read
contents: write
pull-requests: write
steps:
- name: Parse Issue Body
id: parse_prompt
uses: peter-murray/issue-forms-body-parser@v4.1.0
with:
issue_id: ${{ github.event.issue.number }}
separator: "###"
label_marker_start: "✒️"
label_marker_end: "🖊️"
- uses: actions/checkout@v4
- name: Write Prompt to file
run: echo "$PROMPT" > prompt.txt
env:
PROMPT: ${{ fromJson(steps.parse_prompt.outputs.payload).Prompt }}
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npm pkg set type="module"
- name: Write story
id: write
run: npm run prompt
env:
USER_NAME: ${{ github.event.issue.user.login }}
USER_AVATAR: ${{ github.event.issue.user.avatar_url }}
OPEN_AI_KEY: ${{ secrets.OPEN_AI_KEY }}
- name: Commit the story
run: |
git config --global user.name 'Story Bot'
git config --global user.email 'info@storybot.dev'
git checkout -b prompt/issue-${{ github.event.issue.number }}
git add ./src/blog
git add ./src/img/blog
git commit -m "✍️ ${{ steps.write.outputs.title }}
Co-authored-by: $USERNAME <$USERNAME@users.noreply.github.com>"
git push --set-upstream origin prompt/issue-${{ github.event.issue.number }}
env:
USERNAME: ${{ github.event.issue.user.login }}
- name: Create Body file
run: |
echo "This PR closes #${{ github.event.issue.number }}" >> body.txt
echo "## Prompt" >> body.txt
echo "${{ fromJson(steps.parse_prompt.outputs.payload).Prompt }}" >> body.txt
- name: Create PR
env:
GH_TOKEN: ${{ github.token }}
run: |
gh pr create --title "✍️ ${{ steps.write.outputs.title }}" --body-file body.txt