EVOKORE// WORKFLOWS / docs-update-data.yml
ComposioHQ/composioworkflow · 96 lines
workflows/docs-update-data.yml
CI / automation
View on GitHub →# REFERENCE-ONLY: GitHub Actions secrets referenced below are illustrative.
# Do not inject real credentials. See your CI/CD provider for proper secret management.
name: Docs - Update Data
on:
schedule:
- cron: '0 */5 * * *'
repository_dispatch:
types: [apollo-production-deploy]
workflow_dispatch:
jobs:
update-data:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./docs
permissions:
contents: write
pull-requests: write
env:
COMPOSIO_API_KEY: ${{ secrets.COMPOSIO_API_KEY }}
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Log trigger source
run: |
echo "Workflow triggered by: ${{ github.event_name }}"
if [ "${{ github.event_name }}" = "repository_dispatch" ]; then
echo "Triggered by Apollo production deployment"
echo "Hermes commit: ${{ github.event.client_payload.hermes_commit }}"
echo "Timestamp: ${{ github.event.client_payload.timestamp }}"
fi
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version-file: '.bun-version'
- name: Install dependencies
run: bun install
- name: Generate toolkits data
run: bun run generate:toolkits
- name: Fetch OpenAPI spec
run: bun run scripts/fetch-openapi.mjs
- name: Generate API index pages
run: bun run generate:api-index
- name: Generate meta tools reference
run: bun run generate:meta-tools
- name: Check for changes
id: changes
run: |
cd ..
git add -N docs/public/data/ docs/public/openapi.json docs/content/reference/api-reference/ docs/content/reference/meta-tools/ 2>/dev/null || true
if git diff --quiet docs/public/data/ docs/public/openapi.json docs/content/reference/api-reference/ docs/content/reference/meta-tools/ 2>/dev/null; then
echo "has_changes=false" >> $GITHUB_OUTPUT
echo "No changes detected"
else
echo "has_changes=true" >> $GITHUB_OUTPUT
echo "Changes detected:"
git diff --stat docs/public/data/ docs/public/openapi.json docs/content/reference/api-reference/ docs/content/reference/meta-tools/ 2>/dev/null || true
fi
- name: Create Pull Request
if: steps.changes.outputs.has_changes == 'true'
uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0
with:
commit-message: 'docs: update toolkits and API data'
title: 'docs: Update toolkits and API data'
body: |
Auto-generated update from Apollo production deployment.
This PR updates:
- `docs/public/data/toolkits.json` - Full toolkit data
- `docs/public/data/toolkits-list.json` - Light toolkit list
- `docs/public/openapi.json` - OpenAPI specification
- `docs/content/reference/api-reference/*.mdx` - API index pages
- `docs/public/data/meta-tools.json` - Meta tools schemas
- `docs/content/reference/meta-tools/*.mdx` - Meta tools reference pages
${{ github.event_name == 'repository_dispatch' && format('Hermes commit: {0}', github.event.client_payload.hermes_commit) || '' }}
branch: docs/auto-update-data
base: next
add-paths: |
docs/public/data/
docs/public/openapi.json
docs/content/reference/api-reference/
docs/content/reference/meta-tools/